- 下載:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
- 解壓:
rpm -ivh mysql-community-release-el7-5.noarch.rpm
- 安裝:
yum -y install mysql mysql-server mysql-devel
- 啟動服務(wù):
service mysqld start
- 設(shè)置初始密碼:
mysqladmin -u root password 'password'
- 配置遠(yuǎn)程訪問權(quán)限:
- 創(chuàng)建數(shù)據(jù)庫:create database database_name;
- 創(chuàng)建用戶:CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
- 授權(quán):grant all privileges on *.* to root@'%' identified by "password";
- 刷新權(quán)限:flush privileges;
- 查看用戶:select host,user,password from user;
- 進入客戶端:
mysql -u root -p 輸入密碼,默認(rèn)為空
- 常用mysql命令
- 更改root密碼: mysqladmin -u root password 'yourpassword'
- 遠(yuǎn)程登陸mysql服務(wù)器: mysql -u root -p -h 192.168.137.10 -P 3306
- 查詢數(shù)據(jù)庫: show databases;
- 進入某個數(shù)據(jù)庫: use database name;
- 列出數(shù)據(jù)庫中的表: show tables;
- 查看某個表全部字段: desc slow_log;
- show create table slow_log\G; (不僅可以顯示表信息峰档,還可以顯示建表語句)
- 查看當(dāng)前用戶: select user();
- 查看當(dāng)前所在數(shù)據(jù)庫: select database();
- 創(chuàng)建新數(shù)據(jù)庫(可以指定字符集): create database db1 charset utf8;
- 創(chuàng)建新表: create table t1 (`id` int(4), `name` char(40));
- 查看數(shù)據(jù)庫版本: select version();
- 查看數(shù)據(jù)庫狀態(tài): show status;
- 當(dāng)前會話狀態(tài): show global status;
- 全局?jǐn)?shù)據(jù)庫狀態(tài): show slave status\G;
- 查詢數(shù)據(jù)庫參數(shù): show variables;
- 修改數(shù)據(jù)庫參數(shù): show variables like 'max_connect%';
- set global max_connect_errors = 1000;(重啟數(shù)據(jù)庫會失效寨昙,要在配置文件中修改)
- 查看當(dāng)前數(shù)據(jù)庫隊列: show processlist;
- 創(chuàng)建普通用戶并授權(quán)給某個數(shù)據(jù)庫: grant all on database name.* to 'user1'@'localhost' identified by 'password';
- 查詢表數(shù)據(jù):
select * from mysql.db; //查詢該表中的所有字段
select count(*) from mysql.user; //count(*)表示表中有多少行
select db,user from mysql.db; //查詢表中的多個字段
select * from mysql.db where host like '10.0.%';在查詢語句中可以使用萬能匹配 “%”
- 插入一行數(shù)據(jù): insert into db1.t1 values (1, 'abc');
- 更改表的某一行數(shù)據(jù): update db1.t1 set name='aaa' where id=1;
- 清空表數(shù)據(jù): truncate table db1.t1;
- 刪除表: drop table db1.t1;
- 清空數(shù)據(jù)庫中的所有表(數(shù)據(jù)庫名是eab12): mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12
- 刪除數(shù)據(jù)庫: drop database db1;
- 數(shù)據(jù)庫備份: mysqldump -uroot -p'yourpassword' mysql >/tmp/mysql.sql
- 數(shù)據(jù)庫恢復(fù): mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql
- 新建普通用戶: CREATE USER name IDENTIFIED BY 'ssapdrow';
- 更改普通用戶密碼: SET PASSWORD FOR name=PASSWORD('fdddfd');
- 查看name用戶權(quán)限: SHOW GRANTS FOR name;
- 添加mysql服務(wù)開機自啟動
添加開機啟動,把啟動腳本放到開機初始化目錄欢顷。
- 復(fù)制文件:cp support-files/mysql.server /etc/init.d/mysql
- 賦予可執(zhí)行權(quán)限:chmod +x /etc/init.d/mysql
- 添加服務(wù):chkconfig --add mysql
- 顯示服務(wù)列表:chkconfig --list
- 如果看到mysql的服務(wù),并且3,4,5都是on的話則成功抬驴,如果是off,則執(zhí)行:chkconfig --level 345 mysql on
- 把mysql客戶端放到默認(rèn)路徑
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
注意:建議使用軟鏈過去布持,不要直接包文件復(fù)制,便于系統(tǒng)安裝多個版本的mysql
- 連接錯誤解決
通過使用 mysql -uroot -p 連接數(shù)據(jù)庫(默認(rèn)數(shù)據(jù)庫的root用戶沒有密碼题暖,這個需要設(shè)置一個密碼)。
錯誤信息:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解決方法:打開/etc/my.cnf,看看里面配置的socket位置是什么目錄胧卤。“socket=/var/lib/mysql/mysql.sock”
路徑和“/tmp/mysql.sock”不一致枝誊。建立一個軟連接:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
到這里任務(wù)算是完成了。之后就可以創(chuàng)建數(shù)據(jù)庫用戶惜纸,然后使用數(shù)據(jù)庫了。
- 權(quán)限控制
正常情況下堪簿,mysql安裝完成后椭更,用戶初始密碼為空,且無法在遠(yuǎn)端登陸訪問蛾魄,需要進行權(quán)限控制湿滓。
- 刪除匿名用戶舌狗,使用root用戶登錄數(shù)據(jù)庫:
delete from mysql.user where User='';
flush privileges;
- mysql5.7修改密碼字段名稱:
update mysql.user set authentication_string=password('*******') where user='*******';
- 設(shè)置默認(rèn)密碼:
alter user user() identified by "123456";
- 需要放開遠(yuǎn)程訪問權(quán)限:
update user set host = '%' where user = 'root';