ä¸ãä¸è½½MySQLæºç
å®ç½ï¼ http://www.mysql.com
ä¸è½½ä¸æ¥çæä»¶ä¸ºï¼mysql-boost-5.7.17.tar.gz
äºãè§£åæºç ï¼åå¤ç¯å¢
[[email protected] software]# tar -zxf mysql-boost-5.7.17.tar.gz
[[email protected] software]# ls
[[email protected] software]# cd mysql-5.7.17/
[[email protected] mysql-5.7.17]# ls
[[email protected] mysql-5.7.17]# vim README
[[email protected] mysql-5.7.17]# vim INSTALL

å¸®å©ææ¡£éç»æä»¬çæ¯ä¸ä¸ªç½åï¼æå¼çç
å¯ä»¥ç¨cmakeçæ¹å¼ï¼è¿éæä»¬çå°è¿éåªååºäºå 个éé¡¹ï¼æ´å¤é项åè¢«é¾æ¥å°äºå¦å¤ä¸ä¸ªç½åï¼æå¼çç
è¿ä¹å¤éé¡¹ï¼æä»¬æ ¹æ®éè¦è¿è¡éæ©ï¼å ççä»cmake âhelp
è¿å°±å°´å°¬äºï¼æ²¡æå®è£ cmake,ççæ¬æºyumæºéçcmakeçæ¬
cmake跨平å°å·¥å ·æ¯ç¨æ¥é¢ç¼è¯mysqlæºç çï¼ç¨äºè®¾ç½®mysqlçç¼è¯åæ°ãå¦ï¼å®è£ ç®å½ãæ°æ®åæ¾ç®å½ãå符ç¼ç ãæåºè§åçãæä»¥å®è£ yumæºé带çå³å¯
[[email protected] mysql-5.7.17]# yum install -y cmake.x86_64
1
cmake âhelp似乿²¡æä¾ä»ä¹æä»¬éè¦çé项ï¼è¿æ¯åç §mysqlç宿¹ææ¡£æ¥å§
ç¼è¯ç¯å¢
宿¹ææ¡£è¯´æï¼http://dev.mysql.com/doc/refman/5.7/en/source-installation.html
ä»å®æ¹ææ¡£ç¥ï¼éè¦ä»¥ä¸ä¾èµåº
make 3.75
mysqlæºä»£ç æ¯ç±CåC++è¯è¨ç¼åï¼å¨linuxä¸ä½¿ç¨make对æºç è¿è¡ç¼è¯åæå»ºï¼è¦æ±å¿ é¡»å®è£ make 3.75æä»¥ä¸çæ¬
gcc4.4.6
GCCæ¯Linuxä¸çCè¯è¨ç¼è¯å·¥å ·ï¼mysqlæºç ç¼è¯å®å ¨ç±CåC++ç¼åï¼è¦æ±å¿ é¡»å®è£ GCC4.4.6æä»¥ä¸çæ¬
Boost1.59.0
mysqlæºç ä¸ç¨å°äºC++çBooståºï¼è¦æ±å¿ é¡»å®è£ boost1.59.0æä»¥ä¸çæ¬
bison2.1
Linuxä¸C/C++è¯æ³åæå¨
ncurses
å符ç»ç«¯å¤çåº
ç±äºæä»¬ä¸è½½çæºç å å«boostï¼æä»¥æä»¬åªéè¦å®è£ å ¶ä»çä¾èµåºå³å¯
[[email protected] mysql-5.7.17]# yum install -y make.x86_64 gcc-c++.x86_64 bison.x86_64 ncurses.x86_64
1
ä¾èµåºå®è£ 好äºï¼æä»¬å°boostç§»è³/usr/localä¸ï¼æ¹ä¾¿ä½¿ç¨
[r[email protected] mysql-5.7.17]# cp -r boost/boost_1_59_0/ /usr/local/
[[email protected] mysql-5.7.17]# ls /usr/local/boost_1_59_0/
boost
ç±äºæ¯æºç å®è£ ï¼ä¸åäºçç±³å®è£ ï¼ä¸ä¼èªå¨å¸®æä»¬åå»ºç¨æ·ï¼æä»¥éè¦æä»¬åå»ºç¨æ·
[[email protected] mysql-5.7.17]# groupadd mysql #æ·»å mysqlç¨æ·ç»
[[email protected] mysql-5.7.17]# useradd -r -g mysql -s /bin/false mysql #æ·»å mysqlç¨æ·
1
2
ä¸ãç¼è¯å®è£
é ç½®mysqlé¢ç¼è¯åæ°
[[email protected] mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=/usr/local/boost_1_59_0/ -DSYSCONFDIR=/etc -DEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all
DCMAKE_INSTALL_PREFIXï¼å®è£ è·¯å¾
DMYSQL_DATADIRï¼æ°æ®åæ¾ç®å½
DWITH_BOOSTï¼boostæºç è·¯å¾
DSYSCONFDIRï¼my.cnfé ç½®æä»¶ç®å½
DEFAULT_CHARSETï¼æ°æ®åºé»è®¤å符ç¼ç
DDEFAULT_COLLATIONï¼é»è®¤æåºè§å
DENABLED_LOCAL_INFILEï¼å è®¸ä»æ¬æä»¶å¯¼å ¥æ°æ®
DEXTRA_CHARSETSï¼å®è£ ææå符é
é¢ç¼è¯æ¥éï¼æç¤ºremove CMakeCache.txt ï¼redhatè¿éè¦ncurses-devel , yum å®è£ ä¹
[[email protected] mysql-5.7.17]# rm -rf CMakeCache.txt
[[email protected] mysql-5.7.17]# yun install -y ncurses-devel
ç»§ç»æ§è¡cmakeé¢ç¼è¯
ç¼è¯å¹¶å®è£
[[email protected] mysql-5.7.17]# make ##å¯å åæ°-jæ ¹æ®CPUæ ¸æ°æå®ç¼è¯æ¶ççº¿ç¨æ°ï¼å¯ä»¥å å¿«ç¼è¯é度ãé»è®¤ä¸º1个线ç¨ç¼è¯ï¼ç»æµè¯åæ ¸CPUï¼2Gçå åï¼åå ç¨ç¼è¯å®éè¦20åéå·¦å³ã
[[email protected] mysql-5.7.17]# makeinstall
è³æ¤ï¼ç¼è¯å®è£ 宿ï¼ä¸é¢è¿è¡ç®åçé 置使ç¨
mysqlç®åé ç½®
åå§åç³»ç»æ°æ®åº
[[email protected] mysql-5.7.17]# cd /usr/local/mysql/
[[email protected] mysql]# ll -d
drwxr-xr-x 10 root root 4096 Sep 23 22:45 .
[[email protected] mysql]# chown -R mysql:mysql .
[[email protected] mysql]# ll -d
drwxr-xr-x 10 mysql mysql 4096 Sep 23 22:45 .
[[email protected] mysql]# ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2017-09-24T03:01:29.063554Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-09-24T03:01:29.068209Z 0 [ERROR] COLLATION 'utf8mb4_general_ci' is not valid for CHARACTER SET 'latin1'
2017-09-24T03:01:29.068253Z 0 [ERROR] Aborting
æç¤ºå符éæé
[[email protected] mysql]# vim /etc/my.cnf ##ç¼è¾ï¼å¢å 两个ç¼ç åé
#æ¹æå¦ä¸ï¼å¦ææ²¡æè¯¥æä»¶ï¼å¯æ·è´ä¸ä»½ï¼å½ä»¤å¦ä¸
##cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cn
[client]
default-character-set=gbk ##å¢å çç¼ç åé
[mysqld]
character_set_server=gbk ##å¢å çç¼ç åé
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
å¨åå§åå³å¯
å¦æä½¿ç¨âinitializeåæ°åå§åç³»ç»æ°æ®åºä¹åï¼ä¼å¨~/.mysql_secretæä»¶ä¸çærootç¨æ·çä¸ä¸ªä¸´æ¶å¯ç ï¼åæ¶ä¹å¨åå§åæ¥å¿ä¸æå°åºæ¥äº,å¦ä¸å¾(fy
é ç½®mysqlæå¡å¹¶å¯å¨æå¡
[[email protected] init.d]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[[email protected] init.d]# chkconfig --add mysqld ## æ·»å å°ç³»ç»æå¡
[[email protected] init.d]# chkconfig mysqld on ## 弿ºå¯å¨
[[email protected] ~]# /etc/init.d/mysqld ##æ¥çæä¾åªäºç¨æ³
Usage: mysqld {start|stop|restart|reload|force-reload|status} [ MySQL server options ]
[[email protected] ~]# /etc/init.d/mysqld start ##æµè¯å¼å¯æå¡
Starting MySQL. SUCCESS!
[[email protected] ~]# /etc/init.d/mysqld stop ##æµè¯åæ¢æå¡
Shutting down MySQL. SUCCESS!
[[email protected] ~]# /etc/init.d/mysqld start ##å¼å¯æå¡
[[email protected] ~]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql ##æ·»å è½¯é¾æ¥å°mysqlå å ¥ç³»ç»ç¯å¢åéï¼æè éè¿é ç½®ç¯å¢åéï¼export PATH=/usr/local/mysql/bin:$PATH æè vim /etc/profile
æµè¯å¯å¨
[[email protected] ~]# mysql -uroot -pfy
-bash: !U95r: event not found ##ç§å¯å å«ç¹æ®å符ï¼ä¸è½è¿æ ·å
[[email protected] ~]# mysql -uroot -p
Enter password: ##è¾å ¥å¯ç
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) ##æ¥é
[[email protected] ~]# ln -s /var/lib/mysql/mysql.sock /tmp ##è½¯é¾æ¥
[[email protected] ~]# mysql -uroot -p ##忥
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.17
Copyright (c) 2000, 2016, 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> ##ç»éæå
è®¾ç½®æ°æ®åºå¯ç
mysql> set password for [email protected]=password('mypasswd');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>
mysql> exit
Bye
[[email protected] ~]# mysql -uroot -pmypasswd
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.17 Source distribution
Copyright (c) 2000, 2016, 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>
ä¿®æ¹æåï¼å¯ä»¥è¿è¡æ°æ®åºçæä½äº
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> CREATE database mydatabase
-> ;
Query OK, 1 row affected (0.00 sec)
mysql> SHOW databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydatabase |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> use mydatabase
Database changed
mysql> show tables
-> ;
Empty set (0.00 sec)
mysql>