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

参考:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值