ubuntu 安装mysql 备忘录


安装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的目录所有删除干净,而后再从新安装便可。
相关文章
相关标签/搜索