朋友購買了阿里雲的服務器,服務器上自帶有CentOS操作系統,但是開發軟件需要自己安裝,接下來將介紹本地RedHat Linux 5.10虛擬機上搭建Mysql數據庫。
一、軟件准備
(1)jdk-6u32-linux-x64.bin
(2)MySQL-devel-5.6.16-1.linux_glibc2.5.x86_64.rpm
(3)MySQL-server-5.6.16-1.linux_glibc2.5.x86_64.rpm
(4)MySQL-client-5.6.16-1.linux_glibc2.5.x86_64.rpm
軟件下載地址:
http://dev.mysql.com/downloads/mysql/
也可以到如下下載:
http://pan.baidu.com/s/1bnemZXP
二、安裝軟件
2.1 JDK配置
JDK安裝配置比較簡單,主要是配置本地虛擬機默認的Java編譯器。安裝RedHat系統時候,系統自帶JDK是1.4.2版本的,可以通過java -version命令來查看當前JDK版本。
設置默認JDK版本方法:
(1)編輯vi /etc/profile.d/java.sh文件
添加如下代碼:
export JAVA_HOME=/usr/java1.6 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$PATH
(2)重啟機器驗證
java -version
2.2 MySQL安裝
2.2.1 檢查原系統是否已經安裝MysQL相關軟件:
rpm -qa |grep -i mysql
2.2.2 卸載之前安裝的MysqL相關軟件或者是版本過低的軟件。
rpm -qa |grep -i mysql | rpm -e | sh
2.2.3 安裝MysQL
1) rpm -ivh MySQL-devel-5.6.16-1.rhel5.x86_64
2) rpm -ivh MySQL-server-5.6.16-1.rhel5.x86_64.rpm
3) rpm -ivh MySQL-client-5.6.16-1.rhel5.x86_64.rpm
2.3 配置Mysql數據庫
2.3.1 啟動mysql數據庫
[root@AY1404 ~]# /etc/init.d/mysql start
ERROR:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
原因還沒有配置Mysql數據庫,解決方法,編輯/etc/my.cnf文件,添加如下代碼:
--創建存放數據路徑 mkdir -p /usr/mysql/data chown -R mysql:mysql /usr/mysql chmod -R 777 /usr/mysql --配置my.cnf文件 [mysqld] datadir=/usr/mysql/data socket=/var/lib/mysql/mysql.sock port=3306 basedir=/usr [mysql.server] user=mysql basedir=/usr [client] socket=/var/lib/mysql/mysql.sock
2.3.2 再次啟動Mysql數據庫
[root@AY1404 ~]# /etc/init.d/mysql start
有可能報錯如下錯誤ERROR:
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/bin/mysqld_safe)
解決辦法:
在配置my.cnf文件時候,basedir路徑選擇有問題, mysqld_safe命令找不到,可用手工執行mysqld_safe命令驗證一下。
[root@AY1404 ~]# /usr/bin/mysqld_safe &
2.3.3 再次啟動數據庫
[root@AY1404 ~]# /etc/init.d/mysql start
報錯信息如下:
Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
原因是我們當初創建數據庫的時候,不存在mysql用戶,只有root用戶。解決方法:
執行/usr/bin/mysql_install_db --user=mysql
2.3.4 啟動數據庫
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
三、Mysql數據庫常用命令
3.1 修改密碼
默認root用戶密碼時空,-p指舊密碼,password后是新密碼
[root@AY1404 ~]#/usr/bin/mysqladmin -u root -p password root123;
3.2 數據庫啟動關閉命令
--數據庫啟動服務 /etc/init.d/mysql start 或者 service mysql start --數據庫關閉服務 /etc/init.d/mysql shutdown 或者 service mysql stop
3.3 數據庫命令
(1) show databases; --列出當前數據庫 (2) use databasename; 選擇數據庫 如:use test; (3) show tables; 顯示表 (4) describe tablename; 表的詳細描述 (5) create database name; 創建數據庫 (6)表重命名 mysql>rename table table_abc to table_cba; (7) 用文本方式將數據裝入數據庫表中 mysql> LOAD DATA LOCAL INFILE "/opt/dept.txt" INTO TABLE dept; (8) 導入.sql文件命令(例如/opt/dept.sql) mysql>use database; mysql>source/opt/dept.sql; (9) 數據庫備份 導出整個庫 mysql>mysqldump -u user_name -p password --default-character-set=latin1 database_name > output_database 導出表 mysqldump -u user_name -p password database_name tablename > table_name.sql 導出數據結構 mysqldump -u user_name -p password -d –add-drop-table database_name > database_name.sql (10)數據庫還原 還原某張表 mysqldump -u username -p password database_name < inputfile.sql
四、解決系統內存溢出問題
Mysql占內存較多,系統經常報內存溢出,需要在my.cnf里添加如下參數設置。
Mysql V5.6數據庫一些默認值較大,可通過SHOW VARIABLES LIKE 'perf%';進行查看數據庫當前的值。
Mysql官網online文檔http://dev.mysql.com/doc/refman/5.6/en/performance-schema-system-variables.html
現調整以下參數的大小:
performance_schema_max_table_instances=200 #performance_schema_max_table_instances default value 12500 table_definition_cache=200 #table_definition_cache default value 1400 table_open_cache=128 #table_open_cache default value 2000 key_buffer_size = 8M sort_buffer_size = 8M query_cache_size= 16M tmp_table_size=24M key_buffer_size=20M