【mysql數據庫】Linux下mysql安裝鏈接全過程(含有問題詳解)

本次安裝操做在騰訊雲上實現(版本:CentOS Linux release 7.4.1708 (Core) )。html

根據教程實現(中途各類挖坑,填坑。。。),地址:http://www.runoob.com/linux/mysql-install-setup.html mysql

##################################華麗的分割線##################################linux

MySQL 安裝

1、安裝編譯工具及庫文件
 c++

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-develweb

 

2、 安裝cmake 編譯器sql

cmake 版本:cmake-3.1.1。數據庫

一、下載地址:http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gzbootstrap

$ wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz服務器

 

二、解壓安裝包curl

$ tar zxvf cmake-3.1.1.tar.gz

 

三、進入安裝包目錄

$ cd cmake-3.1.1

 

四、編譯安裝 

$ ./bootstrap $ make && make install

 

3、安裝 MySQL

MySQL版本:mysql-5.6.15。

一、下載地址: http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

本人下載安裝包路徑:/usr/local (嚴重影響之後各配置路徑)

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

 

二、解壓安裝包

$ tar zxvf mysql-5.6.15.tar.gz

 

三、進入安裝包目錄

$ cd mysql-5.6.15

 

四、編譯安裝 

$ 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 -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306 $ make && make install

 

五、查看mysql版本:

$ /usr/local/webserver/mysql/bin/mysql --version

 

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/

 

三、建立my.cnf配置文件

將/etc/my.cnf替換爲下面內容

(建議將原文件重命名,再新建立這個名字的文件,將下面內容粘貼進去,其中datadir 是數據庫存放的位置,默認/var/lib/mysql)

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
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 = 2k
default-storage-engine = MyISAM
default-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
#master-connect-retry = 10
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

四、初始化數據庫

$/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf  --user=mysql

 

上面語法報錯FATAL ERROR: Could not find ./bin/my_print_defaults

問題緣由:操做時絕對路徑下找不到該文件,改爲相對路徑下執行

解決方法:切換到安裝目錄路徑(/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

上面語法報錯 The server quit without updating PID file (/usr/local/webserver/mysql/mysql.pid).

問題緣由:查看路徑下沒有文件mysql.pid,mysql全部者是root,mysql用戶沒有建立權限

解決方法:將mysql文件夾下的全部者給mysql,chown -R mysql:mysql mysql 

 

七、鏈接 MySQL

$ /usr/local/webserver/mysql/bin/mysql -u root -p

root用戶下沒有密碼,或者直接su mysql 進入

 

客戶端鏈接服務器

使用Navicat鏈接mysql時報錯,主機不容許鏈接服務器。

1.鏈接MySQL  

$ /usr/local/webserver/mysql/bin/mysql -u root -p

2.設置鏈接信息

用戶:mysql使用密碼:mypassword從任何主機鏈接到mysql服務器

GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

若是你想容許用戶myuser從ip爲192.168.2.3的主機鏈接到mysql服務器,並使用mypassword做爲密碼

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.2.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

其餘命令

  • 啓動:service mysqld start
  • 中止:service mysqld stop
  • 重啓:service mysqld restart
  • 重載配置:service mysqld reload
  • 查看進程 ps -elf | grep mysqld
相關文章
相關標籤/搜索