安装mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
官网安装文档:https://dev.mysql.com/doc/refman/5.6/en/binary-installation.html
基础环境:
CentOS Linux release 7.1.1503 (Core)
一、添加mysql用户
# groupadd mysql
# useradd -r -g mysql -s /bin/false mysql
二、解压mysql,建立软链接
# cd /usr/local/
# tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /home/software/
软件默认的启动程序中,读取的是/usr/local/中的地址,所以不管在哪里安装,都在/usr/local中建个软链接比较好。
# ln -s /usr/local/mysql-5.6.37-linux-glibc2.12-x86_64 mysql
三、添加环境变量
# export PATH=$PATH:/usr/local/mysql/bin
# cd mysql
# chown -R mysql:mysql .
这里全是root也可以的
四、安装mysql
# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...2017-09-21 09:30:16 0 TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-09-21 09:30:16 0 Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-09-21 09:30:16 0 ./bin/mysqld (mysqld 5.6.37) starting as process 3271 ...
2017-09-21 09:30:16 3271 InnoDB: Using atomics to ref count buffer pool pages
2017-09-21 09:30:16 3271 InnoDB: The InnoDB memory heap is disabled
2017-09-21 09:30:16 3271 InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-09-21 09:30:16 3271 InnoDB: Memory barrier is not used
2017-09-21 09:30:16 3271 InnoDB: Compressed tables use zlib 1.2.3
2017-09-21 09:30:16 3271 InnoDB: Using Linux native AIO
2017-09-21 09:30:16 3271 InnoDB: Using CPU crc32 instructions
2017-09-21 09:30:16 3271 InnoDB: Initializing buffer pool, size = 128.0M
2017-09-21 09:30:16 3271 InnoDB: Completed initialization of buffer pool
2017-09-21 09:30:17 3271 InnoDB: Highest supported file format is Barracuda.
2017-09-21 09:30:17 3271 InnoDB: 128 rollback segment(s) are active.
2017-09-21 09:30:17 3271 InnoDB: Waiting for purge to start
2017-09-21 09:30:17 3271 InnoDB: 5.6.37 started; log sequence number 1625987
2017-09-21 09:30:17 3271 Binlog end
2017-09-21 09:30:17 3271 InnoDB: FTS optimize thread exiting.
2017-09-21 09:30:17 3271 InnoDB: Starting shutdown...
2017-09-21 09:30:18 3271 InnoDB: Shutdown completed; log sequence number 1625997
OK
Filling help tables...2017-09-21 09:30:19 0 TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-09-21 09:30:19 0 Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-09-21 09:30:19 0 ./bin/mysqld (mysqld 5.6.37) starting as process 3294 ...
2017-09-21 09:30:19 3294 InnoDB: Using atomics to ref count buffer pool pages
2017-09-21 09:30:19 3294 InnoDB: The InnoDB memory heap is disabled
2017-09-21 09:30:19 3294 InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-09-21 09:30:19 3294 InnoDB: Memory barrier is not used
2017-09-21 09:30:19 3294 InnoDB: Compressed tables use zlib 1.2.3
2017-09-21 09:30:19 3294 InnoDB: Using Linux native AIO
2017-09-21 09:30:19 3294 InnoDB: Using CPU crc32 instructions
2017-09-21 09:30:19 3294 InnoDB: Initializing buffer pool, size = 128.0M
2017-09-21 09:30:19 3294 InnoDB: Completed initialization of buffer pool
2017-09-21 09:30:19 3294 InnoDB: Highest supported file format is Barracuda.
2017-09-21 09:30:19 3294 InnoDB: 128 rollback segment(s) are active.
2017-09-21 09:30:19 3294 InnoDB: Waiting for purge to start
2017-09-21 09:30:19 3294 InnoDB: 5.6.37 started; log sequence number 1625997
2017-09-21 09:30:19 3294 Binlog end
2017-09-21 09:30:19 3294 InnoDB: FTS optimize thread exiting.
2017-09-21 09:30:19 3294 InnoDB: Starting shutdown...
2017-09-21 09:30:21 3294 InnoDB: Shutdown completed; log sequence number 1626007
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h qkettle password 'new-password'
Alternatively you can run:
./bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default.This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
WARNING: Found existing config file ./my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as ./my-new.cnf,
please compare it with your file and take the changes you need.
WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
--defaults-file argument to mysqld_safe when starting the server
这里更改了一下用户名qkettle。
# chown -R root .
# chown -R mysql data
五、复制启动程序:
# cp support-files/mysql.server /etc/init.d/mysql.server
在这里,如果/usr/local没有mysql软链接的话,会报错,说找不到服务的。
六、启动MySQL服务,这里出来个错误:
# /etc/init.d/mysql.server start
Starting MySQL.170921 10:03:14 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/var/lib/mysql/qkettle.pid).
解决:
# vim /etc/my.cnf
log-error=/var/log/mysql/mariadb.log
pid-file=/var/run/mysql/mariadb.pid
再启动:成功
# /etc/init.d/mysql.server start
Starting MySQL.Logging to '/var/log/mysql/mariadb.log'.
. SUCCESS!
查看进程
# ps -ef |grep mysql
root 4998 10 10:05 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/qkettle.pid
mysql 515949980 10:05 pts/1 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysql/mariadb.log --pid-file=/var/lib/mysql/qkettle.pid --socket=/var/lib/mysql/mysql.sock
七、建立软链接,启动mysql。
# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
这里出错:
# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方法:
先停止服务,然后修改一个地方。
#/etc/init.d/mysql.server stop
Shutting down MySQL.. SUCCESS!
# vim /etc/my.cnf
socket=/tmp/mysql.sock
八、再次启动服务、可以登录了
#/etc/init.d/mysql.server start
初始登录
mysql -u root
修改root用户密码
mysql>use mysql;
mysql> update user set password=password("123456") where user='root';
mysql> flush privileges;
退出重新用密码登录一下
mysql> exit;
查看数据库的字符集情况
mysql> show variables like 'char%';
修改数据库字符集,其他的格式相同。
mysql> set character_set_database=utf8;
重启后,字符集并不好用。
需要修改配置文件/etc/my.cnf
在下添加一段话,不能写错了,否则会启动不了
character-set-server=utf8
因为我这里只有这么一个mysqld段落,所以没有再添加别的。
如果要是还有别的需要添加字符集的段落,也需要添加上。
页:
[1]