linux安裝mysql

軟件提取

資料:取碼: 525uhtml

網速鏡像wget下載慢時候,或內網安裝時,可開先下載文件直接安裝。mysql

安裝編譯工具及庫文件

yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel

安裝cmake編譯器

  • 進入/usr目錄 (我安裝的文件放在/usr目錄下,目錄隨意)
cd /usr
  • 下載cmake安裝包
wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz
  • 解壓安裝包並進入安裝目錄
tar zxvf cmake-3.1.1.tar.gz
cd cmake-3.1.1
  • 編譯安裝
./bootstrap
make && make install

安裝boost

  • 在/usr/local下建立boost文件夾
mkdir -p /usr/local/boost
  • 進入boost文件夾
cd /usr/local/boost
  • 在這個文件夾下載 boost
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
  • 解壓boost
tar -xvzf boost_1_59_0.tar.gz

安裝mysql

  • 進入/usr目錄
cd /usr
  • 下載mysql並解壓mysql
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
tar zxvf mysql-5.6.15.tar.gz
  • 進入mysql解壓
cd mysql-5.6.15
  • mysql的cmake配置文件添加
-DWITH_BOOST=/usr/local/boost
  • 編譯安裝mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DWITH_BOOST=/usr/local/boost -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306
  • make
make && make install
  • 查看mysql版本
    若是能夠查看到,則mysql安裝正確
/usr/local/webserver/mysql/bin/mysql --version
  • 報錯問題解決

1 CMake安裝mysql時報錯linux

CMake Error at cmake/readline.cmake:85 (MESSAGE):
Curses library not found. Please install appropriate package,

解決c++

yum -y install ncurses-devel
rm -rf CMakeCache.txt

mysql配置

  • 建立mysql運行使用的用戶mysql
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
  • 建立binlog和庫的存儲路徑並賦予mysql用戶權限
mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql
chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/
  • 將mysql文件夾的權限給mysql用戶
chown -R mysql /usr/local/webserver/mysql
chgrp -R mysql /usr/local/webserver/mysql
  • 建立my.cnf配置文件
vim /etc/my.cnf
  • my.cnf文件裏內容以下
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
lower_case_table_names =1
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /www/data_mysql
log-error = /usr/local/webserver/mysql/mysql_error.log
pid-file = /usr/local/webserver/mysql/mysql.pid
open_files_limit = 65535
back_log = 600
max_connections = 5000
max_connect_errors = 1000
table_open_cache = 1024
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 600#thread_concurrency = 8
query_cache_size = 128M
query_cache_limit = 2M
query_cache_min_res_unit = 2kdefault-storage-engine = MyISAMdefault-tmp-storage-engine=MYISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 128M
max_heap_table_size = 128M
log-slave-updates
log-bin = /usr/local/webserver/mysql/binlog/binlog
binlog-do-db=oa_fb
binlog-ignore-db=mysql
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog
relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog
relay-log = /usr/local/webserver/mysql/relaylog/relaylog
expire_logs_days = 10
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
interactive_timeout = 120
wait_timeout = 120
skip-name-resolve
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396#master-host = 192.168.1.2#master-user = username#master-password = password#master-port = 3306
server-id = 1
loose-innodb-trx=0
loose-innodb-locks=0
loose-innodb-lock-waits=0
loose-innodb-cmp=0
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0
loose-innodb-cmpmem=0
loose-innodb-cmpmem-reset=0
loose-innodb-buffer-page=0
loose-innodb-buffer-page-lru=0
loose-innodb-buffer-pool-stats=0
loose-innodb-metrics=0
loose-innodb-ft-default-stopword=0
loose-innodb-ft-inserted=0
loose-innodb-ft-deleted=0
loose-innodb-ft-being-deleted=0
loose-innodb-ft-config=0
loose-innodb-ft-index-cache=0
loose-innodb-ft-index-table=0
loose-innodb-sys-tables=0
loose-innodb-sys-tablestats=0
loose-innodb-sys-indexes=0
loose-innodb-sys-columns=0
loose-innodb-sys-fields=0
loose-innodb-sys-foreign=0
loose-innodb-sys-foreign-cols=0

slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log
long_query_time = 1
[mysqldump]
quick
max_allowed_packet = 32M
  • 初始化數據庫
cd   /usr/local/webserver/mysql/
執行
/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf  --user=mysql
  • 建立開機啓動腳本
cd /usr/local/webserver/mysql/
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 35 mysqld on
  • 啓動mysql
service mysqld start
  • 鏈接mysql
/usr/local/webserver/mysql/bin/mysql -u root -p

若是看到若是下,,則成功web

mysql>
看一下數據庫
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo1              |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

mysql>
ok~~~~~~
  • 修改mysql密碼
    進入mysql命令行
格式:SET PASSWORD FOR '用戶名'@'主機' = PASSWORD(‘密碼');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');

建立用戶並受權sql

grant all privileges on *.* to 用戶名@'%' identified by '密碼' with grant option;
grant all privileges on *.* to root@'%' identified by 'root' with grant option;

測試mysql用戶名和密碼修改是否生效數據庫

鏈接mysql
會要輸入密碼,輸入剛纔設置的密碼(root),若是能鏈接mysql,說明設置成功

同一個局域網鏈接mysqlbootstrap

用navicat鏈接鏈接mysql
備註:
鏈接名:隨便起
主機名或ip地址:虛擬機的ip地址
Linux命令行獲取:ip addr
端口號:mysql的端口號 3306
用戶名:root
密碼:root
鏈接測試,

不出意外會失敗,緣由vim

1)Linux的防火牆沒有關閉
關閉防火牆
systemctl stop firewalld,systemctl disable firewalld
2) 服務器上登陸mysql,查看是否有地址限制,
語法:
use mysql;
select host,user from user;
grant all privileges on *.* to 'root'@'%' identified by '密碼';
flush privileges;

操做以下:
mysql> select host,user from user ;
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
mysql> flush privileges;

所有操做及顯示:
mysql> use mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host,user from user ;
+-----------------------+------+
| host                  | user |
+-----------------------+------+
| %                     | root |
| 127.0.0.1             | root |
| ::1                   | root |
| localhost             |      |
| localhost             | root |
| localhost.localdomain |      |
| localhost.localdomain | root |
+-----------------------+------+
7 rows in set (0.02 sec)

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
Query OK, 0 rows affected (0.07 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.34 sec)


同一個局域網鏈接測試:
鏈接成功
如今開始開心的使用mysql吧~~~~~~

image

參考

http://www.runoob.com/linux/mysql-install-setup.html服務器

相關文章
相關標籤/搜索