目录
1.需求介绍
2.mysql安装
2.1依赖安装
2.2添加mysql yum respository
2.3选择要启用的mysql版本
2.4 通过Yum安装mysql
2.5防火墙启动关闭命令
2.6测试是否安装成功
3.远程连接mysql,开启防火墙端口
4.mysql其他问题
4.1mysql账号设置
4.2更改数据库存放目录
4.3开机启动mysql设置
4.4设置mysql UTF-8编码
5修改MySQL密码
这几天老大又甩个功能,一个星期连做3个功能,确实累成狗,不过也学到新技能,现在回头翻翻笔记,几个钟头能配置完的东西,成长几何倍。因为要做数据库的读写分离功能,所以先介绍下mysql的安装配置,下篇文章mysql读写分离
https://blog.csdn.net/qq_42035966/article/details/82086443
我们先检查本地是否安装mysql
# yum list installed | grep mysql //检查安装
# yum -y remove mysql-libs.x86_64 //卸载
//若有多个依赖文件则依次卸载。当结果显示为 Complete!即卸载完毕。
MySQL依赖libaio,所以先要安装libaio
# yum search libaio //检索相关信息
# yum install libaio //安装依赖包
// 成功安装,提示如下:
已加载插件:
fastestmirror Loading mirror speeds from cached hostfile
* base: mirrors.yun-idc.com
* extras: mirrors.163.com
* updates: mirrors.163.com
软件包 libaio-0.3.109-12.el7.x86_64 已安装并且是最新版本
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# yum localinstall mysql-community-release-el7-5.noarch.rpm
// 验证是否添加成功
# yum repolist enabled | grep "mysql.*-community.*"
// 内容如下
mysql-connectors-community/x86_64 MySQL Connectors Community 1
mysql-tools-community/x86_64 MySQL Tools Community 1
mysql56-community/x86_64 MySQL 5.6 Community Server 13
# yum repolist all | grep mysql //查看mysql版本,执行
//可以看到 5.5, 5.7 版本是默认禁用的,因为现在最新的稳定版是 5.6
mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 14
mysql-connectors-community-source MySQL Connectors Community - Sourc 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 17
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sourc 禁用
mysql56-community/x86_64 MySQL 5.6 Community Server 启用: 139
mysql56-community-source MySQL 5.6 Community Server - Sourc 禁用
mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Develop 禁用
mysql57-community-dmr-source MySQL 5.7 Community Server Develop 禁用
//可以通过类似下面的语句来启动某些版本
# yum-config-manager --disable mysql56-community yum-config-manager --enable mysql57-community-dmr
//或者通过修改 /etc/yum.repos.d/mysql-community.repo 文件
# /etc/yum.repos.d/mysql-community.repo 文件
//内容如下
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
//其中 enabled=0 是指禁用,enabled=1 指启用。
//执行,查看当前的启动的 MySQL 版本
# yum repolist enabled | grep mysql
注意: 任何时候,只能启用一个版本。
# yum install mysql-community-server
//Yum 会自动处理 MySQL 与其他组件的依赖关系,显示内容如下:
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.yun-idc.com
* extras: mirrors.163.com
* updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 mysql-community-server.x86_64.0.5.6.24-3.el7 将被 安装
...... ......
//中途遇到提示,按照提示安装
//执行
# rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7
# whereis mysql //可以看到mysql的安装目录是/usr/bin
# systemctl start mysqld //开启 MySQL Server
# systemctl status mysqld //查看 MySQL Server 状态
# systemctl stop mysqld //关闭 MySQL Server
# mysql //进入mysql命令行界面
//打开 iptables 的配置文件:
# vim /etc/sysconfig/iptables
//如果该 iptables 配置文件 不存在,先执行
# yum install iptables-services //安装。
//iptables文件中添加以下内容
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
//执行
# firewall-cmd --reload //重启防火墙,使最新的防火墙设置规则生效。
//mysql安全设置,服务器启动后,可以执行
# mysql_secure_installation;
//创建一个普通用户 user ,密码是 user
mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'user';
//给这个用户授予 SELECT,INSERT,UPDATE,DELETE 的远程访问的权限,这个账号一般用于提供给实施的系统访问
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user'@'%';
//创建一个管理员用户 admin 账号 ,密码是 some_pass
mysql> CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';
//给这个用户授予所有的远程访问的权限。这个用户主要用于管理整个数据库、备份、还原等操作。
mysql> GRANT ALL ON *.* TO 'admin'@'%';
//使授权立刻生效
mysql> flush privileges;
//home 目录下建立 data 目录
# mkdir /home/data
//把 MySQL 服务进程停掉
# systemctl stop mysqld
//或者
# mysqladmin -u root -p shutdown
//移动数据到数据存放目录
// /var/lib/mysql 整个目录移到 /home/data,执行
# mv /var/lib/mysql /home/data
#vim /etc/my.cnf //修改 /etc/my.cnf 文件
//内容如下
[mysqld]
datadir=/home/data/mysql
socket=/home/data/mysql/mysql.sock
[mysql]
socket=/home/data/mysql/mysql.sock
# chown -R mysql:mysql /home/data/mysql //修改权限
//重启后,如果不能启动 MySQL 服务,执行
# vim /etc/sysconfig/selinux
调整SELINUX=permissive
保存设置,执行 reboot 重启生效
# systemctl is-enabled mysqld.service;echo $?
//如果是 enabled 则说明是开机自动,如果不是,执行
# chkconfig --levels 235 mysqld on
# vim /etc/my.cnf
//修改内容如下
[mysqld]
character_set_server = utf8
[mysql]
default-character-set = utf8
//查看当前 MySQL 字符集进入mysql
#mysql> SHOW VARIABLES LIKE 'character%';
#mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
可以直接登录的小伙伴,直接设置密码即可
mysql>set password for 'root'@'localhost'=password('newpasswd');
无法直接登录的小伙伴,参考一下步骤
//获取MySQL的临时密码, 只有启动过一次mysql才可以查看临时密码
# grep 'temporary password' /var/log/mysqld.log
//登陆并修改密码
# mysql -uroot -p
//修改密码
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
//密码设置太简单出现以下的提示
ERROR 1819 (HY000): Your password …
//首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
//再修改密码的长度
mysql> set global validate_password_policy=0;
//再次执行修改密码就可以了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
//授权其他机器登陆
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
本文参考: https://blog.csdn.net/shouldnotappearcalm/article/details/77690574/
如有侵权,请联系小编。