Linux Mysql 源碼包安裝mysql
安裝make編輯器c++
make編譯器下載地址:http://www.gnu.org/software/make/sql
./configure數據庫
makebash
make installsocket
安裝bison編輯器
bison下載地址:http://www.gnu.org/software/bison/編碼
安裝gcc-c++spa
gcc-c++下載地址:http://www.gnu.org/software/gcc/code
./configure
make
make install
---- yum安裝 gcc gcc-c++ make
yum -y install gcc
yum -y install gcc-c++
yum install make
cmake安裝
http://www.cmake.org/ -- cmake下載地址
wget http://www.cmake.org/files/v3.3/cmake-3.3.1.tar.gz
tar zxvf cmake-3.3.1.tar.gz
./configure
make
make install
ncurses安裝
ncurses下載地址:http://www.gnu.org/software/ncurses/
./configure
make
make install
------------------------------------------ yum 安裝 ------------------------
yum install ncurses-devel
系統默認安裝Mysql卸載
yum remove mysql mysql-server mysql-libs compat-mysql51 -- 下載安裝包
rm -rf /var/lib/mysql -- 刪除安裝目錄
rm -rf /etc/my.cnf -- 刪除配置文件
rpm -qa|grep mysql -- 查看是否還有mysql軟件,還有繼續刪除
Mysql 安裝
http://dev.mysql.com/ -- 源碼地址
ftp://mirror.switch.ch/mirror/mysql/Downloads/ -- mysql 源碼地址
添加用戶
# groupadd mysql
# useradd -r -g mysql mysql
-r :創建系統帳號
-g:指定用戶所屬的起始羣組
-d :指定用戶登陸時的啓始目錄
-m:自動創建用戶的登錄目錄
-M:不自動創建用戶的登錄目錄
安裝數據庫
# wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
# tar -zxvf mysql-5.6.25.tar.gz
# cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝路勁
-DMYSQL_DATADIR=/usr/local/mysql/data \ #數據文件存放位置
-DSYSCONFDIR=/etc \ #my.cnf路徑
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
-DWITH_READLINE=1 \ #快捷鍵功能
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ #鏈接數據庫socket路徑
-DMYSQL_TCP_PORT=3306 \ #端口
-DENABLED_LOCAL_INFILE=1 \ #容許從本地導入數據
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安裝支持數據庫分區
-DEXTRA_CHARSETS=all \ #安裝全部的字符集
-DDEFAULT_CHARSET=utf8 \ #默認字符
-DDEFAULT_COLLATION=utf8_general_ci
# make
# make install
# chown -R mysql.mysql /usr/local/mysql -- 改變目錄權限
# cd /usr/local/mysql/scripts
# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data -- 初始化數據庫庫
# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data -- 初始化數據庫庫(mysql5.7)
註冊服務
# cd /usr/local/mysql/support-files
# cp mysql.server /etc/rc.d/init.d/mysql -- 註冊服務
# cp my-default.cnf /etc/my.cnf -- 使用默認配置文件
# chkconfig --add mysql -- 讓chkconfig管理mysql服務
# chkconfig mysql on -- 開機自啓動
# service mysql start -- 啓動服務
# cd /etc/my.cnf
查看字符集: SHOW VARIABLES LIKE 'character%'
修改 my.cnf (改變編碼,防止亂碼)mysql5.7不能這樣設置,設置後不能啓動服務
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
將mysql的bin加入到path中
cd ~
#我把path添加到當前用戶目錄的bashrc中,若是須要全局設定,請修改`/etc/profile`
vi .bashrc
#加入如下內容
PATH=/usr/local/mysql/bin:$PATH
export PATH
配置用戶密碼和遠程訪問權限
mysql -uroot
-- SET PASSWORD = PASSWORD('123');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; -- 新建一個root帳戶,能夠任何IP訪問,密碼爲123
update user set password = password('123') where user='root'; -- 修改之後,不能本地空密碼登錄,5.7 password字段改成 authentication_string 了
flush privileges; -- 使設置當即生效、否者須要重啓數據庫生效
關閉防火牆(iptables),Mysql遠程連不起,能夠中止服務或添加端口
service iptables status -- 查看防火牆狀態
service iptables stop -- 中止防火牆
5.7 默認有密碼,本機登陸也須要密碼,跳過密碼,在my.cnf [mysqld]中加入 skip-grant-tables,能夠直接使用mysql -uroot 登陸不須要密碼,登陸成功後修改密碼:
update user set authentication_string=PASSWORD('sys123') where User='root';
去掉skip-grant-tables,重啓服務,登陸後,不能變動數據庫,update user set authentication_string = password('sys123') where user='root'; 重置密碼後能夠登陸,默認用戶只能本地登陸。