1. /etc/init.d/mysqld start和mysql_safe --user=mysql &的启动实质是一样的
2. /etc/init.d/mysqld stop
一般不用的停止数据库的方法
killall mysqld
pkill mysqld
killall -9 mysqld
kill pid
优雅关闭数据库
第一种
mysqladmin -uroot -poldboy123 shutdown
第二种
/etc/init.d/mysqld stop
第三种kill信号的方法
kill -usr2 `cat path/pid`
3.mysql登录
mysql 刚装完系统无密码情况登录方式
mysql -uroot 刚装完系统无密码情况登录方式 不要密码
mysql -uroot -p 这是标准的dba命令行登录命令
登录提示符修改 prompt \u@oldboy \r:\m:\s->
4.多实例登录
mysql -uroot -proot123 -S /data/3306/mysql.sock
远程登录不需要sock
mysql -uroot -p -h 127.0.0.1 -P3307
5.mysql安全策略介绍
设置root账号密码
删除无用的mysql库内的用户账号
删除默认存在的test数据库
极端做法可以删除root账号,新建一个超级账号代替root账号
delete from mysql.user;
grant all privileges on *.* to system@'localhost' identified by system with grant option
为管理员账号设置密码,多实例指定sock
mysqladmin -uroot password 'root123'
mysqladmin -uroot password 'root123' -S /u01/data/3306/mysql.sock
单实例修改密码
mysqladmin -uroot -proot123 password 'root123'
mysqladmin -uroot -proot123 password 'root123' -S /u01/data/3306/mysq.sock
第二种修改用户密码方法
set password=password('root123')
修改完密码要刷新
flush privileges
6.找回mysql丢失的密码
首先停止数据库
/etc/init.d/mysqld stop
使用skip-grant-tables选项启动数据库
mysqld_safe --skip-grant-tables --user=mysql &
使用mysql 无密码登录mysql数据库
update mysql.user set password=password('root123') where user='root123' and host='localhost'
flush privileges;
使用mysqladmin 关闭数据库
mysqladmin -uroot -proot123 shutdown
重启mysql数据库
/etc/init.d/mysqld start
登录客户端
mysql -uroot -p
7.多实例mysql丢失密码找回
首先停止数据库
/u01/data/3306/mysql stop
使用skip-grant-tables选项启动数据库
mysqld_safe --default-file=/u01/data/3306/my.cnf --skip-grant-tables &
/u01/data/3306/mysql -S /u01/data/3306/mysql.sock
update mysql.user set password=password('root123') where user='root123' and host='localhost'
flush privileges
使用mysqladmin关闭数据库
mysqladmin -uroot -proot123 shutdown -S /etc/data/3306/mysql.sock
重启mysql数据库
/u01/data/3306/mysql start
登录客户端
mysql -uroot -p -S /u01/data/mysql.sock
8.mysql数据库常见管理应用
创建数据库
create database shang;
显示数据库
show databases;
查看建库语句
show create database shang \G
带有字符集的建库语句
create database shang default character set gbk collate gbk_chinese_ci;
create database shang default character set utf8 collate utf8_gereral_ci;
查看当前的数据库、用户、时间
select database()
select user();
select now();
select version()
查看表
show tables;
删除多余账号
drop user ''@'localhost'
创建用户及赋予用户权限
例子 创建oldboy用户,对test库具备所有权限,允许从localhost主机登录管理数据库,密码是oldboy123
grant all privileges on test.* to test@localhost identified by 'oldboy123'
create user oldboy@localhost identified by 'oldboy123'
grant all privileges on test.* to test@localhost
查看用户权限
show grants for 'user'@'机器ip'
允许远程连接数据库的授权(允许test用户从10.10.01.*局域网主机上连接数据库,连接密码是test123)
grant all privileges on *.* to test@'10.10.10.%' identified by 'test123'
远程连接语句 接机器ip地址
msyql -utest -ptest -h 10.10.22.155
查看mysql可以授权的权限
9.mysql有哪些权限
SELECT
insert
UPDATE
DELETE
CREATE
DROP
REFERENCES
INDEX
ALTER
CREATE TEMPORARY TABLES
LOCK TABLES
EXECUTE
CREATE VIEW
SHOW VIEW
CREATE ROUTINE
ALTER ROUTINE
EVENT
TRIGGER ON `test`.* TO 'test'@'localhost'