l源码安装mysql升级_[Linux]javaEE篇:源码安装mysql
javaEE :源碼安裝mysql
安裝環(huán)境
系統(tǒng)平臺(tái):CentOS-7-x86_64
數(shù)據(jù)庫(kù)版本:mysql-5.6.14
源碼安裝mysql步驟:
一、卸載mysql
安裝mysql之前,先確保linux系統(tǒng)中沒(méi)有mysql的相關(guān)文件;
如果沒(méi)有,那么請(qǐng)忽略這一步的卸載過(guò)程。
如果有,那么把mysql卸載。
1、檢查是否有myql service
rpm -qa | grep mysql:檢查是否有mysql
2、如果有,卸載掉mysql
rpm -e mysql_libs==》rpm -e mysql具體包名:普通刪除模式
或者
rpm -e --nodeps mysql_libs==》rpm -e --nodeps mysql具體包名:強(qiáng)力刪除模式,如果使用上面命令刪除時(shí),提示有依賴(lài)的其它文件,則用該命令可以對(duì)其進(jìn)行強(qiáng)力刪除 。
二、安裝mysql
1、安裝編譯代碼需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel。直接將此指令復(fù)制粘貼執(zhí)行。
2、下載MySQL ,并放到/usr/local目錄下
省略此步驟
3、解壓mysql源碼包,并進(jìn)入mysql目錄中
tar xvf mysql-5.6.14.tar.gz:解壓mysql源碼包
cd /usr/local/mysql-5.6.14:進(jìn)入到mysql目錄下
4、編譯安裝
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=
/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=
1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=
1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=
/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=
1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=
all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
復(fù)制上面這段指令,在/usr/local/mysql-5.6.14 (進(jìn)入到mysql目錄下)執(zhí)行這段指令。
執(zhí)行完成后,再執(zhí)行下面的這個(gè)指令:
make && make install
make && make install:編譯并安裝;&&表示執(zhí)行完前面的這段指令,再執(zhí)行后面的這個(gè)安裝指令。
這個(gè)一步大約需要半個(gè)小時(shí)。安裝完成,接下來(lái)就需要來(lái)配置我們的mysql了。
三、配置mysql
在設(shè)置權(quán)限之前,我們要先確定linux系統(tǒng)中是否有mysql用戶及用戶組
cat /etc/passwd:查看用戶列表
cat /etc/group:查看用戶組列表
如果沒(méi)有就進(jìn)行創(chuàng)建mysql用戶及mysql用戶組
groupadd mysql:創(chuàng)建mysql用戶組
useradd -g mysql mysql:創(chuàng)建mysql用戶,并設(shè)置這個(gè)用戶為mysql組。
下面就正式進(jìn)入到:設(shè)置權(quán)限
1、設(shè)置權(quán)限
在設(shè)置mysql權(quán)限之前,我們先來(lái)查詢一下這個(gè)文件的信息
[root@localhost local]# ls -l | grep mysql
drwxr-xr-x. 13 root root 213 May 5 00:15 mysql
chown -R mysql:mysql /usr/local/mysql:修改/user/local/mysql的權(quán)限
修改完權(quán)限,重新查看一下mysql的信息
[root@localhost local]# ls -l | grep mysql
drwxr-xr-x. 13 mysql mysql 213 May 5 00:17 mysql
修改權(quán)限成功!!
2、初始化配置
進(jìn)入到安裝路徑(并執(zhí)行下面的這段指令),執(zhí)行初始化配置腳本,創(chuàng)建系統(tǒng)自帶的數(shù)據(jù)庫(kù)和表。
cd /usr/local/mysql:進(jìn)入到安裝路徑
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql:這是一條指令
注意:執(zhí)行上面這條指令報(bào)錯(cuò)
WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
--defaults-file argument to mysqld_safe when starting the server
報(bào)錯(cuò)原因:在CentOS 7版操作系統(tǒng)的最小安裝完成后,在/etc目錄下會(huì)存在一個(gè)my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會(huì)干擾源碼安裝的MySQL的正確配置,造成無(wú)法啟動(dòng)。修改名稱(chēng),防止干擾:
解決方法:mv /etc/my.cnf /etc/my.cnf.bak
注:在啟動(dòng)MySQL服務(wù)時(shí),會(huì)按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會(huì)搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認(rèn)位置!
三、啟動(dòng)mysql
添加服務(wù),拷貝服務(wù)腳本到init.d目錄,并設(shè)置開(kāi)啟啟動(dòng)。
注意:是在/usr/local/mysql下執(zhí)行的
shell
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chkconfig mysql on
[root@localhost mysql]# service mysql start
Starting MySQL.. SUCCESS!
上面是的指令就是啟動(dòng)mysql所用到的;
第一行:進(jìn)入到/usr/local/mysql目錄下;
第二行:拷貝服務(wù)腳本到init.d目錄;
第三行:設(shè)置開(kāi)機(jī)啟動(dòng);
第四行:啟動(dòng)Mysql
四、使用mysql
執(zhí)行下面的命令,進(jìn)行修改密碼:
[root@localhost mysql]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.14 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set password =password('root');
Query OK, 0 rows affected (0.01 sec)
mysql> quit //退出指令
Bye
[root@localhost bin]# ./mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@localhost bin]# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.14 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases; // 查看mysql中數(shù)據(jù)庫(kù)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.03 sec)
mysql>
第一行:cd /usr/local/mysql/bin,進(jìn)入該目錄
第二行:./mysql -uroot
第十一行:set password =password('root');:修改數(shù)據(jù)庫(kù)密碼
第十三行:quit;退出
第十七行:./mysql -u root -p;重新登錄mysql,輸入密碼
第 三十一 行:show databases;查看mysql中數(shù)據(jù)庫(kù)
接著在上面的基礎(chǔ)上,來(lái)創(chuàng)建一張user表,并插入兩條數(shù)據(jù)
mysql> create database myDB; //創(chuàng)建數(shù)據(jù)庫(kù):myDB
Query OK, 1 row affected (0.00 sec)
mysql> use myDB; //使用數(shù)據(jù)庫(kù):myDB
Database changed
mysql> show databases; //查詢列出所有數(shù)據(jù)庫(kù)
+--------------------+
| Database |
+--------------------+
| information_schema |
| myDB |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql> create table user(id int, name varchar(32)); //創(chuàng)建表:user
Query OK, 0 rows affected (0.01 sec)
mysql> insert into user values(100,'tom'); //插入數(shù)據(jù):user
Query OK, 1 row affected (0.00 sec)
mysql> insert into user values(1,'tom');
Query OK, 1 row affected (0.00 sec)
mysql> insert into user values(2,'王春蘭');
Query OK, 1 row affected (0.00 sec)
mysql> select * from user; //查詢user表
+------+-----------+
| id | name |
+------+-----------+
| 100 | tom |
| 1 | tom |
| 2 | 王春蘭 |
+------+-----------+
3 rows in set (0.00 sec)
mysql>
五、配置全部變量
!!!重要
將/usr/local/mysql/bin目錄配置到全局變量的文件中去/etc/profile;
[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# vim /etc/profile
//... ...省略部分內(nèi)容
unset i
unset -f pathmunge
JAVA_HOME=/usr/local/java
// 注意將:/usr/local/mysql/bin配置到這來(lái),前面用:隔開(kāi)
PATH=$PATH:$JAVA_HOME/bin:/usr/local/mysql/bin
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
最后重啟服務(wù) 或者退出重新登錄
systemctl daemon-reload:服務(wù)重載
logout:退出
這時(shí)候我們就可以在任意位置登錄mysql了。
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.14 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
總結(jié)
以上是生活随笔為你收集整理的l源码安装mysql升级_[Linux]javaEE篇:源码安装mysql的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c++ max 的头文件_学用C/C++
- 下一篇: mysql并发插入死锁_高并发下inse