7和设置密码、访问权限
# 介绍
Centos7上默认安装的是mysql的分支mariadb,如果需要可以先卸载mariadb,再安装mysql (据说装mariadb和mysql哪个都可以)
# 卸载原来的
检查是否已经安装mysql
rpm -qa | grep mysql
1
centos 7 下需要删除mariadb 检查:
rpm -qa | grep mariadb
1
如果已经安装,则卸载掉
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
1
【--nodeps 强力删除,包含各种依赖包】
# 通过mysql官方yum包安装mysql5.7
如果直接安装yum -y install mysql-server mysql mysql-devel
,这样仍会安装mariadb
# 下载mysql官方的rpm
cd /usr/local/src
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# 添加该rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
# 安装。 会安装mysql5.7的最新版本,比如5.7.30
yum -y install mysql-community-server
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
上面的mysql57-community-release-el7-10.noarch.rpm, 不是某个小版本,而是对应的mysql5.7的大版本。这里可以找到该下载链接 https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
# 通过mysql官方yum包安装mysql-devel(为了安装mysqlclient)
参考:https://blog.csdn.net/anmo1221/article/details/99462152 (opens new window)
在这里找到需要的yum包: https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/ 下载下来
# 下载
cd /usr/local/src
wget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-devel-5.7.30-1.el7.x86_64.rpm
# 安装
rpm -ivh mysql-community-devel-5.7.30-1.el7.x86_64.rpm
1
2
3
4
5
6
2
3
4
5
6
# 启动mysql
# 启动mysql
systemctl start mysqld.service
# 设置开机自启
systemctl enable mysqld.service
# 查看运行状态
systemctl status mysqld.service
# 结束
systemctl stop mysqld.service
# 重启
systemctl restart mysqld.service
# 也可以通过进程查看mysql是否启动
ps -ef | grep mysqld
# 这里如果只有一条grep --color=auto mysqld, 表明没有启动。可以用ps -ef | grep -v grep |grep mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 设置mysql密码和创建用户
# 通过log查看默认密码 https://www.cnblogs.com/equation/p/8459237.html
grep 'temporary password' /var/log/mysqld.log
# 进入mysql交互命令行,(提示输入密码):
mysql -uroot -p
# 修改root密码 https://blog.csdn.net/qq_31220649/article/details/89468706
mysql> set password for root@localhost = password('pswd123');
# 如果提示密码不符合规则,可修改密码安全等级
mysql> set global validate_password_policy=LOW;
# 扩展root的host登陆范围 https://www.cnblogs.com/hengwei/p/10861719.html
# GRANT ALL ON 库名.表名 to '用户名'@'IP地址' identified by '密码'
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'pswd123';
FLUSH PRIVILEGES;
# 创建普通用户 参考 https://www.cnblogs.com/zhongyehai/p/10695659.html
mysql> CREATE USER 'zhangsan'@'%' IDENTIFIED BY '123456';
# 给普通用户授权
mysql> GRANT ALL ON *.* TO 'zhangsan'@'%';
FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 其他设置
centos: /etc/my.cnf
ubuntu: /etc/mysql/mysql.conf.d/mysqld.cnf
1
2
2
vim /etc/my.cnf
# 性能优化
innodb_flush_log_at_trx_commit=2
# 自定义端口号
port=3305
# 重启
systemctl restart mysqld.service
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 删除数据、日志重新初始化。
linux下,MySQL默认的数据文档存储目录为/var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /var/log/mysql.log
重新初始化:service mysqld start #此命令默认执行初始化操作
service mysqld status #查看mysql的状态
service mysqld stop #停止 mysql
编辑 (opens new window)
上次更新: 2021/10/11, 12:43:58