怎么在虛擬機下的Linux系統安裝數據庫


1、查看 linux下是否有老版本的mysql(有刪除)
查找old mysql:rpm -qa | grep mysql
卸載:卸載命令:rpm –ev {包名}——:rpm -ev mysql-community-common-5.7.23-1.el7.x86_64
查找老版本mysql相關的安裝目錄命令:find / -name mysql
若查找到相關目錄使用命令:rm –rf {目錄名}:刪除目錄

2、查看 linux 下是否安裝 mariadb 數據庫(有的話需要刪除,因為有沖突)
檢查是否安裝了 mariadb: rpm -qa | grep mariadb
刪除mariadb:rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

3、創建mysql存放目錄(/root/software)
創建文件夾:mkdir /root/software
解壓到當前文件夾,並把解壓后文件移動到指定文件夾並修文件夾名稱:
解壓:tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
移動並修改名字:mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

4、創建主目錄(data:存儲目錄 ------可省略)
創建主目錄:mkdir /usr/local/mysql/data

5、主目錄權限處理(查看是否有就得用戶,有刪除並新建用戶)
查看組和用戶情況:cat /etc/group | grep mysql
查看組和用戶情況:cat /etc/passwd |grep mysql
若存在,則刪除原mysql用戶:userdel -r mysql,會刪除其對應的組和用戶並在次查看。
創建mysql組:groupadd mysql
創建mysql用戶:useradd -r -g mysql mysql
修改目錄擁有者:chown -R mysql:mysql /usr/local/mysql


6、創建配置文件及相關目錄(如果在這個路徑下已經存在的話就不用創建了)
創建配置文件:vi /etc/my.cnf

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
socket=/tmp/mysql.sock
pid-file=/tmp/mysqld/mysqld.pid
character-set-server = utf8
log-error=/var/log/mysqld.log

#修改配置文件內容:注意要在模板的 [mysqld] 下面去修改(basedir:mysql安裝路徑,datadir:數據存儲目錄)

保存退出:wq!

創建文件/tmp/mysql.sock:設置用戶組及用戶,授權
touch /tmp/mysql.sock
chown mysql:mysql /tmp/mysql.sock
chmod 755 /tmp/mysql.sock


創建文件/tmp/mysqld/mysqld.pid

mkdir /tmp/mysqld
chown -R mysql:mysql /tmp/mysqld

touch /tmp/mysqld/mysqld.pid
chmod 755 /tmp/mysqld/mysqld.pid

創建文件/var/log/mysqld.log:

touch /var/log/mysqld.log
chown -R mysql:mysql /var/log
chmod 755 /var/log/mysqld.log

 

7:安裝和初始化數據庫

進入初始化目錄:cd /usr/local/mysql/bin/

初始化數據庫:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

如果報錯:(./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory)

需要安裝命令:yum -y install numactl

之后在執行初始化數據庫:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

如果報錯:[ERROR] --initialize specified but the data directory has files in it. Aborting. 清空data目錄再試)


8:安全啟動:

./mysqld_safe --user=mysql &

之后回車進入到bin目錄

查看是否成功:ps -ef | grep mysql

默認密碼在mysqld.log日志里, 找到后保存到安全的地方:cat /var/log/mysqld.log|grep password

其中root@localhost: 后面的就是默認密碼

進入bin目錄:

cd /usr/local/mysql/bin/

登錄mysql:

./mysql -u root -p

但是,若輸入相關命令,則會提示你修改用戶密碼(注意后面一定要加;)。

show databases;

密碼修改為 aaa

mysql> set password=password("root");


9:設置遠程登錄權限(在mysql里面設置)

mysql>grant all privileges on *.* to 'root'@'%' identified by 'root';

刷新登錄權限:

mysql> flush privileges;

退出quit 或者 exit

mysql> quit;


10:開機服務啟動設置:

把support-files/mysql.server 拷貝為/etc/init.d/mysql:

命令:cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

查看是否成功:(名字為mysql)

cd /etc/init.d/

ll

查看mysql服務是否在服務配置中

chkconfig --list mysql

若沒有,則把mysql注冊為開機啟動的服務,然后在進行查看

chkconfig --add mysql

chkconfig --list mysql

啟動 或 停止

service mysql start

service mysql stop


11:創建快捷方式:
服務啟動后,直接運行mysql -u root -p即可登錄,不需要進入到對應的目錄。

ln -s /usr/local/mysql/bin/mysql /usr/bin


12:使用Navicat 連接數據庫時會出現(2003)
說明你的防火牆沒有關。


解決方案:

//臨時關閉 systemctl stop firewalld


//禁止開機啟動

systemctl disable firewalld


Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.


Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM