安装
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