# MySQL基础命令
-------------
### 创建MySQL库,授权。
>create database mysqldb character set utf8;
>grant all privileges on mysqldb.* to 'mysqluser'@'localhost' identified by 'mysqlpasswd';
>flush privileges;
创建了mysqldb数据库,创建mysqluser用户,并授权mysqldb的所有权限。___________________________________________________________________________
### 设置远程访问MySQL
>grant all privileges on mysqldb.* to 'mysqluser'@'%' identified by 'mysqlpasswd';
# mysqluser是用户名,%代表任意主机,'mysqlpasswd'指定的登录密码(这个和本地的密码可以设置不同的,互不影响)
>flush privileges; # 重载系统权限
设置只允许192.168.1.2的主机用root用户访问MySQL
>grant all privileges on *.* to 'root'@'192.168.1.2' identified by '123456' with grant option;
>flush privileges;
设置允许192.168.1.1/24 网段的所有主机用root用户访问MySQL
>grant all privileges on *.* to 'root'@'192.168.1.%' identified by '123456' with grant option;
flush privileges;
查看所有MySQL用户
>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
查看数据库中具体某个用户的权限
>show grants for 'root'@'%';
>select * from mysql.user where user='root' \G
----------------------------------------------------
设置防火墙,让 3306 端口对外可访问
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
iptables -nL
service iptables save
_________________________________________________________________
### MySQL导出导入
导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
-S 参数 指定/tmp/mysql.sock
1、只导出表结构( -d 参数)
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
导出
#mysqldump -uroot -p'password' -d mysqldb > abc.sql
导入
mysql -uroot -p"password"mysqldb < abc.sql
2、数据库导入导出:
mysqldump -u用户名 -p密码 数据库名 > 备份文件名.sql
导出
#mysqldump -uroot -p'password' mysqldb > bak.sql
导入
#mysql -uroot -p'password' mysqldb < bak.sql
导出全部数据库(包括用户名密码等.) mysqldump -uroot -p --all-databases > sqlfile.sql
3.MySQL压缩备份与恢复
mysqldump -u用户名 -p密码 数据库名 | gzip > 备份后的名称
备份
mysqldump -uroot -p'password' -S /tmp/mysql.sock mysqldb | gzip > backupfile.sql.gz
恢复
gunzip < backupfile.sql.gz | mysql -u'root' -p'password' -S /tmp/mysql.sock mysqldb
4.对单个表的备份与还原,
对mysqldb库的 app_info表进行备份恢复,
备份
mysqldump -u"root" -p"password" -S /tmp/mysql.sock mysqldb app_info > app_info.sql
恢复
mysql -u"root" -p"password" -S /tmp/mysql.sock mysqldb < app_info.sql
_________________________________________________________________________
### 重置MySQL root密码
mysqladmin -uroot password 'mysql_pass'; (设置mysql的root密码)
停止正在运行的MySQL进程
netstat -anput | grep mysql
ps -ef | grep mysql
先查看mysql的pid,然后杀掉。或者service mysql stop停止。
kill pid
2.以安全模式启动MySQL
mysqld_safe --skip-grant-tables &
注意mysqld_safe 命令的路径
3.更改MySQL数据库root密码
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
MySQL5.6
update user set password = Password("new_pass") where User = 'root';
MySQL5.7
update user set authentication_string = Password("new_pass") where User = 'root';
4.重启MySQL
service mysql restart
———————————————————————————————————
整理了几条MySQL的命令,这些都是我在工作中常用的。也非常实用。
背黑锅我们最专业
------运维
转载于:https://blog.51cto.com/xmomo/1955408