Mysql之Centos7下yum安装mysql5.6

centos7默认不支持mysql,默认支持的是mariadb,mariadb是mysql一个开源分支

卸载mariadb,否则安装mysql会出现冲突
rpm -qa | grep mariadb

列出所有被安装的mariadb rpm 包;
执行命令
rpm -e --nodeps 包名称

先检查是否存在已安装的MySQL
yum list installed | grep mysql

若存在删除:
yum remove 软件名称

yum repolist enabled | grep "mysql.*-community.*"
可以看到可能没有5.6的版本

centos自带的repo是不会自动更新每个软件的最新版本,所以无法通过yum方式安装MySQL的高级版本

添加官方的yum源
创建并编辑mysql-community.repo文件
vim /etc/yum.repos.d/mysql-community.repo
将以下内容粘贴进去并保存

[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

同理,其他centos版本安装其他版本的mysql只需要改为对应的baseurl即可,比如
centos7安装mysql5.7:baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
centos6安装mysql5.6:baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
centos6安装mysql5.7:baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/


这个时候再查看 出现了5.6
yum repolist enabled | grep "mysql.*-community.*"

执行安装
yum -y install mysql-community-server

安装完mysql server时,一般要执行这个脚本对数据库初始化。 运行这个脚本,会初始化mysql的data目录,并且创建那些系统表。 
同样也会初始化系统表空间并且关联innodb表与数据结构。

找到mysql_install_db目录
find / -name mysql_install_db
显示
/usr/bin/mysql_install_db

然后执行
/usr/bin/mysql_install_db --user=mysql

加入开机启动
systemctl enable mysqld
启动mysql
systemctl start mysqld
查看mysql状态
systemctl status mysqld
停止mysql
systemctl stop mysqld
重启mysql
systemctl restart mysqld 


执行mysql_secure_installation来做一些常规化安全设置 
/usr/bin/mysql_secure_installation
提示输入密码,没有密码就直接回车
提示设置root user密码  Y
生产环境建议删除系统创建的匿名用户  Y
禁止root用户远程登录  Y
删除test数据库  Y
重载权限表  Y


初次安装mysql的root账户是没有密码的 登录修改密码
mysql -u root
set password for 'root'@'localhost' = password('123456');
flush privileges;



mysql主配置文件相关配置样例
vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character_set_server = utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
socket=/var/lib/mysql/mysql.sock
default-character-set = utf8

[client]
socket=/var/lib/mysql/mysql.sock

重启mysql
systemctl restart mysqld 


开启远程连接:

查看目前开放的端口
firewall-cmd --zone=public --list-ports

增加开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload

增加一个远程账号
grant all privileges on *.* to 'zns'@'%' identified by 'zns123456' with grant option;

可能出现 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt

执行
flush privileges;

重启mysql
systemctl restart mysqld 



卸载mysql
查看已安装的mysql
rpm -qa | grep -i mysql
执行卸载
yum remove mysql-community-libs mysql-community-client mysql-community-server mysql-community-common

猜你喜欢

转载自www.cnblogs.com/zengnansheng/p/10404765.html