🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### **启动与关闭mysql** **1.单实例mysql启动与关闭** ``` /etc/init.d/mysqld start ``` **2.查看mysql端口** ``` ss -lntup | grep 3306 ``` **3.查看mysql进程** ``` ps -ef |grep mysql |grep -v grep ``` **4.初始化数据库时mysql系统输出给的启动方法** ``` mysqld_safe --user=mysql & ``` 注:①当找回root密码时,会使用mysqld_safe --user=mysql & 带参数启动。 ②/etc/init.d/mysqld 和mysqld_safe --user==mysql &的启动实质是一样的。 **5.常规关闭数据库** ``` #自带的脚本 /etc/init.d/mysqld stop #mysqladmin方法 mysqladmin -uroot -padmin123 shutdown #kill信号的方法(尽量不要使用) kill -USR2 `cat path/pid` ``` **6.强制关闭数据库的方法** ``` killall mysqld pkill mysqld killall -9 mysqld ``` 注:尽量不要强制杀死数据库进程,生产高并发环境可能会引起数据丢失或数据库启动不了的情况。 **7.多实例mysql启动与关闭** 注:自写脚本启动与关闭 ``` #启动 /data/3306/mysql start /data/3307/mysql start /bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null & #关闭 /data/3306/mysql stop /data/3307/mysql stop ${CmdPath}/mysqladmin -u ${mysql_user} -p{$mysql_pwd} -S /data/{$prot}/mysql.sock shutdown ``` **8.单实例mysql登录** ``` mysql -uroot -p admin123 ``` 注:查看mysql的历史操作命令: history cat /root/.mysql_history 强制linux 不记录敏感历史命令 #HISTCONTROL = ignorespace **9.更改mysql登录提示符** ①命令行修改登录提示符.(临时修改) ``` mysql>prompt \u@oldboy \r:\m:\s-> PROMPT set to '\u@oldboy \r:\m:\s->' ``` ②配置文件修改登录提示符 在my.cnf配置文件中的【mysql】模块下添加如下内容,保存后无需重启mysql,退出当前session,重新登录即可。 ``` [mysql] prompt=\\u@oldboy \\r:\\m:\\s-> ``` **10.多实例远程登录** ``` mysql -uroot -p -h 127.0.0.1 -P3307 ``` **11.查看mysql用户的权限** ``` SHOW GREANTS FOR 'root'@'localhost'; ``` 删除所有mysql中的用户,包括root超级用户 ``` delete from mysql.user; ``` 增加system并提升为超级管理员,即和root等价的用户 ``` grant all privileges on *.* to system@'localhost' identified by 'admin123' with grant option flush privileges ``` #### **修改mysql密码的方法** ① 设置密码 ``` mysqladmin -uroot password 'admin123' mysqladmin -uroot password 'admin123' -S /data/3306/mysql.sock ``` ②修改密码 ``` mysqladmin -uroot -p 'admin123' password 'admin' mysqladmin -uroot -p 'admin123' password 'admin' -S /data/3306/mysql.sock #此方法适合密码丢失后通过 --skip-grant-tables 参数启动数据库后修改密码 UPDATE mysql.user SET password=password('admin') WHERE user='root' set password=password('admin'); flush privileges; ``` #### **找回mysql丢失的密码** **1.单实例启动修改丢失的mysql单实例root密码方法** ①停止mysql ``` /etc/init.d/mysqld stop ``` ②使用--skip-grant-tables启动mysql 忽略授权登录验证 ``` mysqld_safe --skip-grant-tables --user=mysql & mysql -uroot -p #这种方式修改密码后要 mysqladmin -uroot -p shutdown /etc/init.d/mysqld start ``` **多实例mysql启动修改root密码方法** ①关闭mysql ``` killall mysqld ``` ②启动时加--skip-grant-tables参数 ``` mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-table & mysql -uroot -p -S /data/3306/mysql.sock ``` ③修改密码 ``` UPDATE mysql.user SET password=password('admin') WHERE user='root' flush privileges; ``` ④重启服务用新密码 ``` mysqladmin -uroot -padmin -S /data/3306/mysql.sock ``` **查看数据库字符集** ``` show create databases 库名\G; ``` **建立一个表为UTF8数据库** create datebases 库名 CHARATER SET utf8 COLATE utf8_general_ci;