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的主要内容,如果未能解决你的问题,请参考以下文章

Centos7源码安装mysql

HP服务器 hp 360g5 centos7安装问题

Centos7安装并配置mysql5.6完美教程

CentOS7下安装MySQL并配置远程连接

CentOS7下MySQL的安装与配置

centos7 mysql 安装配置