记一次mysql在centos下艰难的安装历程
在安装之前应确保之前没安装过,或完全卸载了。
下载
需要下载的包有:
- mysql-community-common-5.7.37-1.el7.x86_64.rpm
- mysql-community-libs-5.7.37-1.el7.x86_64.rpm
- mysql-community-client-5.7.37-1.el7.x86_64.rpm
- mysql-community-server-5.7.37-1.el7.x86_64.rpm
可以在mysql官网的下载,也可以在清华源下载,推荐在清华源下载。推荐使用清华源下载。下载的版本只需要在清华源找到对应版本即可。使用官网下载的Bundle压缩包解压可能出现错误,推荐只在清华源下载需要的包。
安装
依次安装如下四个包
rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm
注意,安装第二步时可能会出现依赖检查错误,卸载 centos 自带的 mariadb 包后重新执行安装命令
- 查找mariadb版本
rpm -qa | grep mariadb
显示的mariadb版本号 - 卸载mariadb
rpm -e mariadb版本号 --nodeps
初始化
初始化数据库,我们使用如下几条命令均可,效果都是一样的
mysql_install_db --datadir=/var/lib/mysql #必须指定datadir,执行后会生成~/.mysql_secret密码文件
mysqld --initialize #新版的推荐此方法,执行生会在/var/log/mysqld.log生成随机密码
更改mysql数据库目录的所属用户及其所属组,然后启动mysql数据库
[root@5201351 ~]# chown mysql:mysql /var/lib/mysql -R
[root@5201351~]# systemctl start mysqld.service //启动mysql数据库服务
注意: 启动不了可以尝试关闭SELinux
[root@5201351 ~]# vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled,重启…
根据初始化中的密码登录到mysql,更改root用户的密码,新版的mysql在第一次登录后更改密码前是不能执行任何命令的
[root@5201351 ~]# mysql -uroot -p’)j#)=uRig4yJ’
mysql> set password=password(‘user123’);
最后我们还可以根据实际情况创建用户,及作权限分配
mysql> create user ‘root’@‘127.0.0.1’ identified by ‘user1’;
mysql> GRANT ALL PRIVILEGES ON dbname.* to ‘root’@‘127.0.0.1’;
mysql> flush privileges
设置开放用户远程连接:
#:> mysql -u root -proot mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;
flush privileges; // 刷新权限,这一步十分重要!
设置开机自启:
[root@XXX] # systemctl enable mysqld.service