共计 1752 个字符,预计需要花费 5 分钟才能阅读完成。
前言
mysql 最初的免费战略已经深入人心,感觉自己一直都在用 mysql。今天在 CentOS7 下装 mysql。发现原来 centos 下默认没有 mysql,因为开始收费了,取而代之的是另一个 mysql 的分支 mariadb
,这个是 mysql 创始人重新主导的分支。But, whatever, I want mysql. 所以,老老实实的卸载 mariadb,安装 mysql。
卸载 mariadb
# 列出所有被安装的 rpm package
rpm -qa | grep mariadb
# 卸载
rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64
错误:依赖检测失败:libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
# 强制卸载,因为没有 --nodeps
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
安装 mariadb
centos 下 yum 暂时没有 mysql-server 直接安装包;
MariaDB 是 MySQL 社区开发的分支,也是一个增强型的替代品.
yum -y install mariadb-server mariadb mariadb-devel
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
firewall-cmd --permanent --add-service mysql
systemctl restart firewalld.service
iptables -L -n|grep 3306
安装 mysql
centos7 中默认没有 mysql 的 yum 源,需要重新下载:
1. 下载 mysql 的 repo 源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2. 安装 mysql-community-release-el7-5.noarch.rpm 包
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
3. 安装 mysql
$ sudo yum install mysql-server
4. 重置密码
需要先登录:
$ mysql -u root
我使用的 root,但也报错了:
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket‘/var/lib/mysql/mysql.sock‘(2),原因是 /var/lib/mysql 的访问权限问题。下面的命令把 /var/lib/mysql 的拥有者改为当前用户:
$ sudo chown -R openscanner:openscanner /var/lib/mysql
重启 mysql service:
$ service mysqld restart
接下来设置密码:
$ mysql -u root
mysql > use mysql;
mysql > update user set password=password(‘123456‘) where user=‘root‘;
mysql > exit;
开放 3306 端口
由于 centos7 使用 firewalld 而不是 iptables, 所以:
# 开放 3306
firewall-cmd --add-port=3306/tcp
# 查看端口是否开放
firewall-cmd --query-port=3306/tcp
允许 mysql 远程访问
mysql 默认是不允许远程访问的.
mysql -u root -p xxxx
mysql>use mysql
mysql>grant all privileges on *.* to 'root'@'%' identified by 'xxxxx(密码)';
mysql>flush privileges;
参考
CentOS 7 用 yum 安装 MySQL
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-09/135272.htm