CentOs7 安装配置mysql
Posted _wangjianfeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOs7 安装配置mysql相关的知识,希望对你有一定的参考价值。
CentOs7 安装配置mysql
安装mysql
在CentOs7中默认的数据库是Meriadb,所以执行以下命令不能安装mysql,只会安装mariadb。
yum install -y mysql
要安装mysql则需要按照以下步骤:
检查系统是否有安装mysql
rpm -qa | grep mysql
如果没有任何输出,则表明没有安装,如果有输出则执行以下命令删除mysql:
yum remove mysql
下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
如果系统报出异常找不到wget,则执行以下指令:
yum install -y wget
之后安装rpm包:
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql
yum install mysql-server
如果安装没有报出异常,则正确安装。
配置mysql
安装完毕之后,则需要启动mysql
systemctl start mysql
启动完毕后登陆mysql
mysql -u root
然后重置密码
update mysql.user set passowrd=password('123456') where user = 'root';
然后输入status查看状态:
--------------
mysql Ver 14.14 Distrib 5.6.39, for Linux (x86_64) using EditLine wrapper
Connection id: 40
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.6.39 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 2 hours 48 min 3 sec
Threads: 4 Questions: 24531 Slow queries: 1 Opens: 283 Flush tables: 1 Open tables: 276 Queries per second avg: 2.432
--------------
可以看到server和db的编码为latin1。我们需要将之修改为utf8.
输入quit退出mysql。然后编辑/etc/my.cnf
vi /etc/my.cnf
在[mysqlId]下面添加一行:
character-set-server=utf8
保存文件。
重启mysql服务:
systemctl restart mysql
在此登陆mysql可以看到编码已正确设置好。
mysql -u root -p
访问mysql
首先确保防火墙开启了3306端口:
firewall-cmd --zone=public --list-ports
如果在输出结果中没有3306/tcp字样的结果,则表明防火墙没有开放3306端口,执行如下命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd reload
此时已经防火墙已经开启了3306端口。
但是要确保可以远程连接还需要查看用户信息。登陆数据库查看用户:
mysql -u root -p
select Host,User,Password from mysql.user;
出现如下用户列表:
mysql> select Host,User,Password from mysql.user;
+-----------------------+------+-------------------------------------------+
| Host | User | Password |
+-----------------------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost.localdomain | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 127.0.0.1 | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| ::1 | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------------------+------+-------------------------------------------+
4 rows in set (0.00 sec)
mysql>
从Host列看出,这些用户都只支持服务器本机登录。
现在需要创建一个账号:
create user test identified by '123456';
还要对这个用户授权远程登录权限:
grant all privileges on *.* to test@"%" identified by "123456";
再次查看用户信息
mysql> select Host,User,Password from mysql.user;
+-----------------------+------+-------------------------------------------+
| Host | User | Password |
+-----------------------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost.localdomain | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 127.0.0.1 | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| ::1 | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| % | test | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------------------+------+-------------------------------------------+
5 rows in set (0.00 sec)
可以看到test用户是允许在任何地方远程登录的。
此时可以通过远程登录mysql了。
mysql -u test -h xxx.xxx.xxx.xxx -p
参考:
以上是关于CentOs7 安装配置mysql的主要内容,如果未能解决你的问题,请参考以下文章