如何在Linux服务器上部署Mysql
一、安装mysql
1.通过文件上传工具,将mysql安装包上传到linux服务器上
2.卸载mariadb包,由于系统中存在mariadb包会导致mysql安装时报错mariadb-libs被mysql-community-libs-8.0.11-1.el7.x86_64 取代,故将其卸载
命令: # yum remove mariadb*
3.解压mysql安装包
命令: # tar -xvf mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar
4.解压后得到好几个.rpm文件,按顺序序执行以下命令
# rpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-8.0.15-1.el7.x86_64.rpm
# rpm -ivh mysql-community-devel-8.0.15-1.el7.x86_64.rpm --nodeps --force
# rpm -ivh mysql-community-libs-compat-8.0.15-1.el7.x86_64.rpm
# rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm
# rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm --nodeps --force
二、修改root密码
首先初始化mysql数据库
# mysqld --initialize --user=mysql
查看data保存目录
# vi /etc/my.cnf
datadir=/var/lib/mysql,这个是data保存目录,进入这个目录
查看初始随机密码
# cat /var/log/mysqld.log
初始密码是:VeGo*7+i&:d*
启动mysql服务
# service mysqld start
编辑my.cnf文件,添加skip-grant-tables (目的是为了免密登录)
# vi /etc/my.cnf
重启mysql
# service mysqld restart
用户无密码登录
# mysql -uroot -p(直接点击回车,密码为空)
选择数据库:mysql> use mysql;
修改root密码:mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'abc123,'
(mysql8.0以上密码策略限制必须要大小写加数字特殊符号)
退出mysql:mysql> quit
编辑/etc/my.cnf,删除skip-grant-tables保存退出,至此密码修改完成。
三、添加新用户并赋予权限
进入mysql命令行,输入root,和刚才设置的密码
# mysql -uroot -p
登录成功后,切换数据库。
mysql> use mysql;
查询用户
mysql> select host,user from user;
创建用户并赋权限(例如:用户:abc,密码:abc123,)
mysql> create user abc identified by ‘abc123,’;
mysql> GRANT all ON *.* TO 'adcc'@'%';
mysql> flush privileges;
⑤ 查看用户adcc的权限
mysql> show grants for abc;
权限列为%说明修改成功,%的意思是允许所有人访问
四、设置开机启动
# vim /etc/rc.local
添加service mysqld start
关闭防火墙
CentOS 7.0 默认采用的是firewall作为防火墙
查看防火墙状态
# firewall-cmd --state
停止firewall
# systemctl stop firewalld.service
禁止firewall开机启动
# systemctl disable firewalld.service