一、CentOS—YUM
1. MySQL—卸载
rpm -qa | grep -i mysql
rpm -qa | grep mysql
rpm -e –-nodeps '包名'
find / -name mysql
rm -rf '目录'
rm -rf '/etc/my.cnf'
2. MySQL—安装
sysv-rc-conf mysqld on
sysv-rc-conf --list
3. MySQL—启动
su mysql
service mysql start
systemctl status mysqld
cd /usr/app/mysql-8.0.22-el7-x86_64
/etc/init.d/mysql start
mysql -uciic -pciic
二、MySQL—Docker
1. 前置准备
mkdir -p /root/mysql/conf /root/mysql/data
chmod -R 755 /root/mysql/
cat /etc/mysql/mysql.cnf
cat /etc/mysql/my.cnf
[ mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
symbolic-links= 0
2. 拉取镜像
docker search mysql
docker pull mysql:5.7.29
3. 创建并启动容器
docker run -id \
--name < mysql_test> \
-p 3307 :3306 \
-e MYSQL_ROOT_PASSWORD = < 12345 6 > \
< mysql:版本号> \
&& docker logs -f < mysql_test>
docker exec -it < mysql_test> /bin/bash
exit
docker cp mysql_test:/etc/mysql/conf.d/ /root/mysql/conf/
docker cp mysql_test:/etc/mysql/mysql.cnf /root/mysql/conf/
docker cp mysql_test:/etc/mysql/mysql.conf.d/ /root/mysql/conf/
docker cp mysql_test:/var/lib/mysql/ /root/mysql/data/
docker cp mysql_test:/var/log/mysql/error.log /root/mysql/
docker rm -f mysql_test
3.1 创建正式容器
cd /root/mysql/
[ root@qs mysql]
/root/mysql
docker run -d \
--name '容器名称' \
-p 3306 :3306 \
-v $PWD /conf/conf.d/:/etc/mysql/conf.d/ \
-v $PWD /data/mysql/:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD = [ '123456' ] \
[ '镜像ID' ]
docker update --restart = always [ '容器ID' ]
参数 说明 -p 3306:3306 将宿主机 3306 端口,映射到容器内 3306 端口 -e MYSQL_ROOT_PASSWORD=123456 追加启动参数,指定 MySQL 密码
4. MySQL—启动两个容器
docker run -d \
--name 'master' \
-p 3307 :3306 \
-v '/root/mysql/master/mysql.cnf:/etc/mysql/mysql.cnf' \
-v '/root/mysql/master/data/:/var/lib/mysql/' \
-v '/root/mysql/master/error.log:/var/log/mysql/error.log' \
-e MYSQL_ROOT_PASSWORD = [ '123456' ] \
[ '镜像ID' ]
docker run -d \
--name 'slave' \
-p 3308 :3306 \
-v '/root/mysql/slave/mysql.cnf:/etc/mysql/mysql.cnf' \
-v '/root/mysql/slave/data/:/var/lib/mysql/' \
-v '/root/mysql/slave/error.log:/var/log/mysql/error.log' \
-e MYSQL_ROOT_PASSWORD = [ '123456' ] \
[ '镜像ID' ]
5. 启动 MySQL-8,并配置忽略大小写
docker run -d \
--name 'mysql_8'
-p 3306 :3306 \
-e MYSQL_ROOT_PASSWORD = [ '123456' ] \
-v '/home/mysql/' : '/var/lib/mysql' \
[ '镜像ID' ] \
--lower_case_table_names = 1
6. 登陆容器
docker exec -it [ '容器ID' ] /bin/bash
mysql -u root -p123456
quit
exit
docker inspect [ '容器ID' ]
三、MySQL—常用操作
mysql -uroot -p123456
mysql -u root -p 123456 -h 192.168 .0.1 -P 3306
mysql -h[ 192.168 .0.11] -P[ 3306 ] -D[ test] -uroot -p123456
SELECT VSESION( ) ;
1. 修改—默认端口
show global variables like 'port' ;
vim / etc/ my. cnf
port= 3309
2. 修改—密码
ALTER user 'root' @'localhost' IDENTIFIED WITH mysql_native_password BY '123456' ;
2.1 忘记密码一
skip-grant-tables
service mysql restart
mysql> use mysql;
mysql> UPDATE user SET password = password( '新密码' ) WHERE User = 'root' ;
mysql> flush privileges;
2.2 忘记密码二
mysqld-nt --skip-grant-tables
3. 修改—不区分大小写
SHOW GLOBAL VARIABLES LIKE '%lower_case%' ;
SHOW VARIABLES LIKE 'LOWER_CASE_TABLE_NAMES' ;
lower_case_file_system=off:说明大小写是敏感的。 注意:该变量不可以修改,只是说明当前操作系统对于 MySQL 的配置是否大小写敏感。
lower_case_table_names=0:是对数据表名不做转换。如果是1,则会将数据表转换为小写,然后在进行操作。
LOWER_CASE_TABLE_NAMES=0:表名存储为给定的大小写,比较时区分大小写的。 LOWER_CASE_TABLE_NAMES=1:表名存储在磁盘是小写的,比较时不区分大小写。 LOWER_CASE_TABLE_NAMES=2:表名存储为给定的大小写,比较时是小写的。
docker exec -it 'mysql_8' /bin/bash
docker cp 'mysql_8:/etc/mysql/my.cnf' '/root/mysql/my.cnf'
docker cp '/root/mysql/my.cnf' 'mysql_8:/etc/mysql/my.cnf'
vi /etc/my.cnf
------------------------------
[ mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
symbolic-links= 0
lower_case_table_names = 1
------------------------------
service mysql restart
4. MySQL—导入导出
mysqldump -uroot -p -h192.168.100.101 -P3307 --databases sell > sell_bak.sql
mysql -uroot -p -h192.168.100.101 -P3308 < sell_bak.sql
四、MySQL—异常
1. 3306 端口已经绑定
sudo netstat -nlpt | grep 3306
sudo service mysql stop
2. ONLY_FULL_GROUP_BY
五、MySQL客户端—安装
rpm -qa | grep mysql
rpm -e --nodeps [ '软件名' ]
rpm -ivh [ 'rpm包的名字' ] --nodeps --force
mysql --help
mysql -h[ 192.168 .0.11] -P[ 3306 ] -D[ test] -uroot -p123456
安装成功
error while loading shared libraries: libtinfo.so.5: cannot open shared object file
find / -name 'libtinfo*'
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5