linux下安裝mysql有三種方式:①yum安裝 ②rpm安裝 ③源碼包安裝
這里介紹第三種安裝方式
操作系統(tǒng):centos7.2
mysql版本:5.7.25,安裝時注意版本區(qū)別,不同版本安裝配置稍有差異。
若之前裝過mysql請先刪除再進行安裝
卸載centos7自帶的 MariaDB:
rpm -qa|grep mariadb // 查詢出來已安裝的mariadb
rpm -e --nodeps mariadb-* //刪除相關(guān)包
或者用此命令刪除:
rpm -e --nodeps 文件名 // 卸載mariadb,文件名為上述命令查詢出來的文件
1、查看系統(tǒng)版本 lsb_release -a
下載地址:https://dev.mysql.com/downloads/mysql/
3、檢查是否已經(jīng)存在mysql,若存在卸載,避免安裝時產(chǎn)生一些錯誤!
rpm -qa | grep -i mysql
若存在,使用rpm -e packname –nodeps命令刪除安裝包
which mysql
查看mysql配置信息,刪除對應(yīng)的配置文件等信息!
刪除mysql用戶
userdel mysql
4、上傳安裝包,解壓縮安裝包
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
如果壓縮包名是以 ..tar 結(jié)尾,則解壓方式為
tar -xvf mysql-5.7.25-linux-glibc2.12-x86_64.tar
刪除下載的安裝包
rm mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
修改解壓出來的文件夾名為mysql
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
進入mysql-5.7.25目錄,新建data目錄
mkdir data
5、創(chuàng)建系統(tǒng)用戶組和用戶
cat /etc/group --查看所有用戶組信息是否存在mysql組,不存在則創(chuàng)建,存在則直接新建用戶
groupadd mysql ---新建一個msyql組
cat /etc/passwd|grep mysql ---查看是否存在mysql用戶
useradd -g mysql mysql ---新建msyql用戶
6.修改當前目錄權(quán)限
chown -R mysql:mysql /usr/local/mysql-5.7.25
7.初始化數(shù)據(jù)庫
cd /usr/local/mysql-5.7.25/bin //進入bin目錄
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.25 --datadir=/usr/local/mysql-5.7.25/data
意結(jié)尾有初始密碼。
若報如下錯
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object
file: No such file or directory
則執(zhí)行
yum remove libnuma.so.1;
yum -y install numactl.x86_64;
將 mysql 加入服務(wù)
cp /usr/local/mysql-5.7.25/support-files/mysql.server /etc/init.d/mysql
搜索my.cnf
find / -name my.cnf
如果沒有找到my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql5.7.25/mysql-5.7.25
datadir=/usr/local/mysql5.7.25/mysql-5.7.25/data
socket=/tmp/mysql.sock
#1不區(qū)分大小寫 0區(qū)分大小寫:
lower_case_table_names = 1
#不開啟sql嚴格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql5.7.25/mysql-5.7.25/data/mysqld.pid
9.添加開機啟動
vim /etc/init.d/mysqld
basedir=/usr/local/mysql5.7.25/mysql-5.7.25
datadir=/usr/local/mysql5.7.25/mysql-5.7.25/data
chkconfig --add mysqld
chkconfig mysql on
查詢列表:
chkconfig | grep -i mysql
啟動mysql:
service mysqld start
service mysqld stop
查詢列表:
chkconfig | grep -i mysql
如果看到mysql的服務(wù),并且3,4,5都是on的話則成功,如果是off,則執(zhí)行
chkconfig --level 345 mysql on
重啟電腦
reboot
驗證
netstat -na | grep 3306
連接Mysql
cd /usr/local/mysql-5.7.25/bin
./mysql -uroot -p
然后輸入默認密碼,登錄后修改默認密碼
alter user 'root'@'localhost' identified by '新密碼';
flush privileges; ---刷新權(quán)限,之后退出重新登錄
本地navicat連接數(shù)據(jù)庫:
在安裝Mysql數(shù)據(jù)庫的主機上登錄root用戶:
mysql -u root -p
3.依次執(zhí)行如下命令:
use mysql;
select host from user where user='root';
可以看到當前主機配置信息為localhost.
4.將Host設(shè)置為通配符%
Host列指定了允許用戶登錄所使用的IP,比如user=root Host=192.168.1.1。這里的意思就是說root用戶只能通過192.168.1.1的客戶端去訪問。 user=root Host=localhost,表示只能通過本機客戶端去訪問。而%是個通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前綴為“192.168.1.”的客戶端都可以連接。如果Host=%,表示所有IP都有連接權(quán)限。
注意:在生產(chǎn)環(huán)境下不能為了省事將host設(shè)置為%,這樣做會存在安全問題,具體的設(shè)置可以根據(jù)生產(chǎn)環(huán)境的IP進行設(shè)置;
update user set host = '%' where user ='root';
Host設(shè)置了“%”后便可以允許遠程訪問。
5.Host修改完成后記得執(zhí)行flush privileges使配置立即生效
flush privileges;
6.使用navicat 成功連接至mysql
創(chuàng)建用戶并授權(quán)
添加用戶允許其在任意地址登錄
CREATE USER 'dog'@'%' IDENTIFIED BY '123456';
授予所有庫的所有權(quán)限
GRANT ALL PRIVILEGES ON *.* TO 'dog'@'%' IDENTIFIED BY '123456';
刷新權(quán)限
flush privileges;
環(huán)境變量一定要設(shè)置對了
vim /etc/profile 打開環(huán)境變量文件
添加路徑:
在文件后面加上環(huán)境變量export PATH=$PATH:/usr/local/mysql-5.7.25/bin
保存后退出
更新配置文件:source /etc/profile
創(chuàng)建用戶并授權(quán)
添加用戶允許其在任意地址登錄
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
//授予所有庫的所有權(quán)限
grant all privileges on *.* to root@% identified by '123456';
//刷新權(quán)限
flush privileges;
https://www.cnblogs.com/yiwd/p/3645530.html
進入mysql:
mysql -uroot -p 輸入密碼
SET PASSWORD = PASSWORD('aspire@123-');
navicat連接成功~
啟動mysql:service mysqld start
重啟myql:service mysqld restart
關(guān)閉mysql:service mysqld stop
https://www.cnblogs.com/jinjiyese153/p/6814109.html