一、检查旧版本,rpm 完全卸载
rpm -qa |grep mysql 查询,将相关包卸载
find / -name mysql 查询, 相关mysql目录,文件统统卸载
/etc/my.conf 文件卸载,
mysql用户,用户组删除(方法见reference)
二、mysql版本下载,安装
官网下载连对应的tar包,解压出 client 和server 及其他包,
rpm -i xxx 安装
安装完成后重要目录:
Table 2.6 MySQL Installation Layout for Linux RPM Packages from the MySQL Developer Zone
Directory | Contents of Directory |
---|---|
/usr/bin | Client programs and scripts |
/usr/sbin | The mysqld server |
/var/lib/mysql | Log files, databases |
/usr/share/info | MySQL manual in Info format |
/usr/share/man | Unix manual pages |
/usr/include/mysql | Include (header) files |
/usr/lib/mysql | Libraries |
/usr/share/mysql | Miscellaneous support files, including error messages, character set files, sample configuration files, SQL for database installation |
三、Mysql启动、停止、重启常用命令
a、启动方式
1、使用 service 启动:
[root@localhost /]# service mysqld start (5.0版本是mysqld)
[root@szxdb etc]# service mysql start (5.5.7版本是mysql)
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:
safe_mysqld&
b、停止
1、使用 service 启动:
service mysqld stop
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld stop
3、mysqladmin shutdown
c、重启
1、使用 service 启动:
service mysqld restart
service mysql restart (5.5.7版本命令)
2、使用 mysqld 脚本启动:
/etc/init.d/mysqld restart
四、修改密码,登录,使用
安装完成后看提示生成了随机密码在 :/root/.mysql_secret 中
修改方法一:
在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】
修改方法二:
通过登录mysql系统,
# mysql -u root -p
Enter password: 【输入原来的密码】
mysql> use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;
在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】
修改方法二:
通过登录mysql系统,
# mysql -u root -p
Enter password: 【输入原来的密码】
mysql> use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;
登录: mysql -u root -p 回车
如果从本地登录其他主机,则格式如下:
./mysql -u root -p -h 192.168.xx.xx
前面必须加./
五、数据库操作,文件导入
1、文本数据转到数据库中
文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:
1 name duty 2006-11-23
数据传入命令 load data local infile "文件名" into table 表名;
2、导出数据库和表
mysqldump --opt news > news.sql(将数据库news中的所有表备份到news.sql文件,news.sql是一个文本文件,文件名任取。)
mysqldump --opt news author article > author.article.sql(将数据库news中的author表和article表备份到author.article.sql文件, author.article.sql是一个文本文件,文件名任取。)
mysqldump --databases db1 db2 > news.sql(将数据库dbl和db2备份到news.sql文件,news.sql是一个文本文件,文件名任取。)
mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中
mysqldump --all-databases > all-databases.sql(将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取。)
3、导入数据
mysql source news.sql;(在mysql命令下执行,可导入表)
文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:
1 name duty 2006-11-23
数据传入命令 load data local infile "文件名" into table 表名;
2、导出数据库和表
mysqldump --opt news > news.sql(将数据库news中的所有表备份到news.sql文件,news.sql是一个文本文件,文件名任取。)
mysqldump --opt news author article > author.article.sql(将数据库news中的author表和article表备份到author.article.sql文件, author.article.sql是一个文本文件,文件名任取。)
mysqldump --databases db1 db2 > news.sql(将数据库dbl和db2备份到news.sql文件,news.sql是一个文本文件,文件名任取。)
mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中
mysqldump --all-databases > all-databases.sql(将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取。)
3、导入数据
mysql source news.sql;(在mysql命令下执行,可导入表)
六、数据文件目录更改
七、my.cnf的优化
八、设置远程连接允许
1.进入 mysql:
1
|
/usr/
local
/mysql/bin/mysql -u root -p
|
2.使用 mysql库 :
1
|
use mysql;
|
3.查看用户表 :
1
|
SELECT
`Host`,`
User
`
FROM
user
;
|
4.更新用户表 :
1
|
UPDATE
user
SET
`Host` =
'%'
WHERE
`
User
` =
'root'
LIMIT 1;
|
5.强制刷新权限 :
1
|
flush
privileges
;
|
完成以上步骤即可远程连接数据库了,上边关键的一句是
|
UPDATE
user
SET
`Host` =
'%'
WHERE
`
User
` =
'root'
LIMIT 1;
|
小结:
1、刚开始装的mysql5.7.8的开发版本,很不全没有mysql.server,init.d/mysql,/etc/my.conf配置等, 报错无也从查,新装一个软件如果出了问题,第一个想到问自己的是不是版本的问题。
References:
http://www.jb51.net/article/40975.htm Linux下安装于配置详细 *****