mysql的基本用法

作者: admin 分类: 技术,杂项,运维 发布时间: 2019-06-02 00:44

安装

rpm安装

yum install -y mysql-server mysql-devel

启动服务

1.service mysqld start   #启动服务
2.service mysqld stop    #关闭服务
3.service mysqld restart #重启服务
4.chkconfig mysqld on    #设置开机启动

常用操作

mysql客户端命令

mysql
     -u   #用户名
     -p   #密码
     -h   #主机
     -p   #协议(根据tcp, socket, pile等)

更改用户密码

mysqladmin实现

1.mysqladmin -uroot password 'newpassword' -p
或
2.mysqladmin -u root -h hostname password 'newpassword'

修改数据库实现

1.
mysql>use mysql;
mysql>update user set password = password('newpassword') where user = 'root';
mysql>flush privileges;
2.
mysql>set password for 'root@host_name' = password('newpassword');
mysql>update mysql.user set password = password('newpassword')  where condition;
mysql>flush privileges;

服务端常用命令

交互模式(通过mysql -uroot -p进入)

mysql>show databases;      #列出所有数据库
mysql>shwo tables;         #查看所有表
mysql>show engines;        #查看引擎信息
mysql>show character set;  #查看字符集
mysql>use DB_NAME;         #切换当前数据库
查看数据库当前有访问权限的信息
mysql>use mysql;
mysql>select User, Password, Host FROM user;
允许用户远程登陆
mysql>use mysql;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql>flush privileges;
#其中"*.*"代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址,
#也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址
#与%结合的方式,如10.0.42.%。IDENTIFIED BY 'root',这个root是指访问密码。WITH GRANT OPTION允许级联授权。

删除历史输入的命令

root@localhost# head ~/.mysql_history
root@localhost# >~/.mysql_history

批处理模式(用于将表导入数据库)

mysql < *.sql

数据库的备份

root@localhost# mysqldump -uroot -p password [DB_NAME] > [DUMP_FILE] #备份指定数据库
root@localhost# mysqldump --no-data --databases mydatabases1 mydatabases2 mydatabases3 > test.dump #只备份表结构
root@localhost# mysqldump --all-databases > [DUMP_FILE] #备份所有数据库

忘记root密码

#跳过访问控制权限进入mysql
#编辑 /etc/my.cnf,添加一行:skip-grant-table
[mysqld]
skip-frant-table
#重启mysqld
service mysqld restart
#修改密码
root@localhost# mysql
mysql>use mysql
mysql>update mysql.user set password = password('newpassword') where user = 'root' and host = 'localhost';
mysql>flush privileges;
mysql>exit
#编辑/etc/my.cnf文件 删除skip-grant-table
#重启服务
service mysqld restart

创建用户

#登陆mysql
mysql -uroot -p密码
#创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
#创建了一个test用户  密码为1234  且只能本地登陆如果要远程登陆把"localhost"改为"%"。
mysql>flush privileges;

删除用户

#登陆mysql
mysql -uroot -p密码
#删除用户
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB;  #删除用户的数据库
#删除账户及权限
mysql>drop user 用户名@'%';
mysql>drop user 用户名@ localhost; 

删除数据库和数据表

mysql>drop database 数据库名;
mysql>drop table 数据表名;

导入导出.sql文件的方法

#导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
root@localhost# mysqldump -uroot -p abc > abc.sql
#只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
root@localhost# mysqldump -uroot -p -d abc > abc.sql
#导入数据库
1.建立空数据库
mysql>create database abc;
2.导入数据库
1).选择数据库
mysql>use abc;
2).设置数据库编码
mysql>set names utf8;
3).导入数据库(注意sql文件路径)
mysql>source /root/abc.sql

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论