MySQL-002

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     |
+---------------+-------+

猜你喜欢

转载自blog.csdn.net/weixin_44455125/article/details/89024427
002
今日推荐