安装mysql
sudo apt-get install mysql-server mysql
配置mysql
修改这个文件:/etc/mysql/my.cnf
设置字符编码:
[client]下添加:
//默认字符集为utf8
default-character-set=utf8
[mysqld]下添加:
character-set-server=utf8
collation-server=utf8_general_ci
在mysql中查看字符编码命令:
show variables like 'character%';
设置网络链接
注释:bind-address=127.0.0.1
而且将mysql数据库下的user表中的host字段从原来的localhost改成%,执行mysql>flush privileges; 使之生效 web
服务
中止服务:sudo /etc/init.d/mysql stop 或者sudo service mysql stop
启动服务:sudo /etc/init.d/mysql start 或者sudo service mysql start
重启服务:sudo service mysql restart
MySQL服务加入开机自启动
加入开机自启动: sudo update-rc.d mysql defaults
从开机自启动中移出: sudo update-rc.d -f mysql remove
sql
删除mysql
1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (很是重要)
上面的其实有一些是多余的,建议仍是按照顺序执行一遍
var/lib/mysql的目录所有删除干净 数据库
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 服务器
修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
一、给root加个密码123456。键入如下命令:
# mysqladmin -u root -password 123456
二、再将root的密码改成56789。
# mysqladmin -u root -p123456 password 56789
增长新用户
格式:grant select on 数据库.* to 用户名@登陆主机 identified by “密码”
一、增长一个用户test1密码为abc,让他能够在任何主机上登陆,并对全部数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,而后键入如下命令:
mysql>grant select,insert,update,delete on *.* to test1@”%” Identified by “abc”;
mysql>flush privileges; 使之生效
二、增长一个用户test2密码为abc,让他只能够在localhost上登陆,并能够对数据库mydb进行查询、插入、修改、删除的操做(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即便用知道test2的密码,他也没法从internet上直接访问数据库,只能经过MYSQL主机上的web页来访问了。
mysql>grant select,insert,update,delete on mydb.* to test2
@localhost identified by “abc”;
mysql>flush privileges; 使之生效
若是你不想test2有密码,能够再打一个命令将密码消掉。
mysql>grant select,insert,update,delete on mydb.* to test2
@localhost identified by “”;
mysql>flush privileges; 使之生效
操做技巧
一、若是你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就能够了。也就是说你能够把一个完整的命令分红几行来打,完后用分号做结束标志就OK。
二、你可使用光标上下键调出之前的命令。
查询、建立、删除、更新命令
一、显示当前数据库服务器中的数据库列表:
mysql>show databases;
注意:mysql库里面有MYSQL的系统信息,咱们改密码和新增用户,实际上就是用这个库进行操做。
二、显示数据库中的数据表:
mysql>use 库名;
mysql>show tables;
三、显示数据表的结构:
mysql>describe 表名;
四、创建数据库:
mysql>create database 库名;
五、创建数据表:
mysql>use 库名;
mysql>create table 表名 (字段名 varchar(20), 字段名 char(1));
六、删除数据库:
mysql>drop database 库名;
七、删除数据表:
mysql>drop table 表名;
八、将表中记录清空:
mysql>delete from 表名;
九、显示表中的记录:
mysql>select * from 表名;
十、往表中插入记录:
mysql>insert into 表名 values (”123”,”b”);
十一、更新表中数据:
mysql>update 表名 set 字段名1='a',字段名2='b' where 字段名3='c';
十二、用文本方式将数据装入数据表中:
mysql>load data local infile “/root/mysql.txt” into table 表名;
1三、导入.sql文件命令:
mysql>use 数据库名;
mysql>source /root/mysql.sql;
1四、命令行修改root密码:
mysql>update mysql.user set password=PASSWORD('新密码') where user='root';
mysql>flush privileges;
1五、显示use的数据库名:
mysql>select database();
1六、显示当前的user:
mysql>select user();
备份数据库
1.导出整个数据库,导出文件默认是存在当前操做目录下
# mysqldump -u 用户名 -p 数据库名 > 导出的文件名
# mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.导出一个表
# mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
# mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.导出一个数据库结构
# mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每一个create语句以前增长一个drop table
4.带语言参数导出
# mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
常见问题
mysql安装完以后,登录后发现只有两个数据库:mysql> show databases; +------------------------+ | Database | +------------------------+ | information_schema | | test | +------------------------+ mysql> use mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' 访问被拒绝,缘由就是在删除数据库时(rpm -e mysql*)没有删除干净,须要把/var/lib/mysql的目录所有删除干净,而后再从新安装便可。