1.mysql参数
-u 指定用户
-p 指定密码
-h 指定地址
-P 指定端口
-S socket文件
-e 免交互密码执行命令
< 导入SQL脚本
socket连接方式
1.查看sock文件位置
select @@socket
2. 登录数据库
mysql -uroot -p -S /tmp/mysql.sock
mysql跳过授权启动
1.停止服务
/etc/init.d/mysqld stop
systemctl stop mysqld
2.关闭密码验证模块并且不允许TCP/IP登录
mysqld_safe --skip-grant-tables --skip-networking &
--skip-networking:连接层关闭TCP/IP协议,禁止远程登录
--skip-grant-tables:连接层关闭密码验证模块,所有验证表不加载
3.登录数据库修改密码
普通修改方式
alter user root@'10.0.0.%' identified by '123'
刷新内存之后重新执行修改密码命令
flush privileges;
#因为关闭了密码验证模块,密码信息没有被加载到内存,命令用于手动加载,然后修改密码
4.pkiil mysqld 杀掉进程
正常重启MySQL服务
初始化配置
预编译,命令行,修改配置文件
初始化配置优先级
命令行>配置文件>预编译
初始化配置文件的默认读取路径
[root@db01 data]# mysqld --help --verbose |grep my.cnf
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
默认情况下,加载过程后者覆盖前者,有重复选项,会走最后的那个配置文件
但是,启动时加了 --defaults-file=xxx时,以上文件都不会读取
配置文件书写方式
[标签项]
配置项=XXX
标签类型:服务端和客户端
服务器端标签:[mysqld] [mysqld_safe]
客户端标签:[mysql] [mysqldump] [client]
多实例应用:
多实例的应用
准备多个目录
mkdir -p /data/330{7,8,9}/data
准备配置文件
----------------------------
vim /data/3307/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
log_error=/data/3307/mysql.log
port=3307
server_id=7
---------------------------
vim /data/3308/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/3308/data
socket=/data/3308/mysql.sock
log_error=/data/3308/mysql.log
port=3308
server_id=8
---------------------------
vim /data/3309/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
log_error=/data/3309/mysql.log
port=3309
server_id=9
---------------------------
初始化三套数据
mv /etc/my.cnf /etc/my.cnf.bak
mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/data/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir=/data/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --basedir=/data/mysql
systemd管理多实例
cd /etc/systemd/system
cp mysqld.service mysqld3307.service
cp mysqld.service mysqld3308.service
cp mysqld.service mysqld3309.service
vim mysqld3307.service
ExecStart=/data/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
vim mysqld3308.service
ExecStart=/data/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
vim mysqld3309.service
ExecStart=/data/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
授权
chown -R mysql.mysql /data/*
启动
systemctl start mysqld3307.service
systemctl start mysqld3308.service
systemctl start mysqld3309.service
验证多实例(检查端口)
[root@db01 system]# netstat -lnp|grep 330
tcp6 0 0 :::3306 :::* LISTEN 8621/mysqld
tcp6 0 0 :::3307 :::* LISTEN 8771/mysqld
tcp6 0 0 :::3308 :::* LISTEN 8778/mysqld
tcp6 0 0 :::3309 :::* LISTEN 8785/mysqld
unix 2 [ ACC ] STREAM LISTENING 61660 8778/mysqld /data/3308/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 61628 8771/mysqld /data/3307/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 61663 8785/mysqld /data/3309/mysql.sock
(检查服务)
[root@db01 system]# mysql -S /data/3307/mysql.sock -e "show variables like 'server_id'"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 7 |
+---------------+-------+
[root@db01 system]# mysql -S /data/3308/mysql.sock -e "show variables like 'server_id'"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 8 |
+---------------+-------+
[root@db01 system]# mysql -S /data/3309/mysql.sock -e "show variables like 'server_id'"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 9 |
+---------------+-------+
标签:service,my,MySQL,cnf,002,mysqld,mysql,data
来源: https://blog.csdn.net/weixin_44455125/article/details/89024427