官网安装文档:
https://dev.mysql.com/doc/refman/5.6/en/binary-installation.html
基础环境:
CentOS Linux release 7.1.1503 (Core)
一、添加mysql用户
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd -r -g mysql -s /bin/false mysql
二、解压mysql,建立软链接
[root@localhost local]# cd /usr/local/
[root@localhost local]# tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /home/software/
软件默认的启动程序中,读取的是/usr/local/中的地址,所以不管在哪里安装,都在/usr/local中建个软链接比较好。
[root@localhost local]# ln -s /home/software/mysql-5.6.37-linux-glibc2.12-x86_64 mysql
三、添加环境变量
这是临时环境,如果多个窗口同时操作的话,需要都加上这个环境。
[root@localhost mysql]# export PATH=$PATH:/usr/local/mysql/bin
[root@localhost local]# cd mysql
[root@localhost mysql]# chown -R mysql:mysql .
这里全是root也可以的,看自己。
四、安装mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...2017-09-21 09:30:16 0 [Warning] 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 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 2017-09-21 09:30:16 0 [Note] ./bin/mysqld (mysqld 5.6.37) starting as process 3271 ... 2017-09-21 09:30:16 3271 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-09-21 09:30:16 3271 [Note] InnoDB: The InnoDB memory heap is disabled 2017-09-21 09:30:16 3271 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-09-21 09:30:16 3271 [Note] InnoDB: Memory barrier is not used 2017-09-21 09:30:16 3271 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-09-21 09:30:16 3271 [Note] InnoDB: Using Linux native AIO 2017-09-21 09:30:16 3271 [Note] InnoDB: Using CPU crc32 instructions 2017-09-21 09:30:16 3271 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-09-21 09:30:16 3271 [Note] InnoDB: Completed initialization of buffer pool 2017-09-21 09:30:17 3271 [Note] InnoDB: Highest supported file format is Barracuda. 2017-09-21 09:30:17 3271 [Note] InnoDB: 128 rollback segment(s) are active. 2017-09-21 09:30:17 3271 [Note] InnoDB: Waiting for purge to start 2017-09-21 09:30:17 3271 [Note] InnoDB: 5.6.37 started; log sequence number 1625987 2017-09-21 09:30:17 3271 [Note] Binlog end 2017-09-21 09:30:17 3271 [Note] InnoDB: FTS optimize thread exiting. 2017-09-21 09:30:17 3271 [Note] InnoDB: Starting shutdown... 2017-09-21 09:30:18 3271 [Note] InnoDB: Shutdown completed; log sequence number 1625997 OK Filling help tables...2017-09-21 09:30:19 0 [Warning] 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 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 2017-09-21 09:30:19 0 [Note] ./bin/mysqld (mysqld 5.6.37) starting as process 3294 ... 2017-09-21 09:30:19 3294 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-09-21 09:30:19 3294 [Note] InnoDB: The InnoDB memory heap is disabled 2017-09-21 09:30:19 3294 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-09-21 09:30:19 3294 [Note] InnoDB: Memory barrier is not used 2017-09-21 09:30:19 3294 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-09-21 09:30:19 3294 [Note] InnoDB: Using Linux native AIO 2017-09-21 09:30:19 3294 [Note] InnoDB: Using CPU crc32 instructions 2017-09-21 09:30:19 3294 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-09-21 09:30:19 3294 [Note] InnoDB: Completed initialization of buffer pool 2017-09-21 09:30:19 3294 [Note] InnoDB: Highest supported file format is Barracuda. 2017-09-21 09:30:19 3294 [Note] InnoDB: 128 rollback segment(s) are active. 2017-09-21 09:30:19 3294 [Note] InnoDB: Waiting for purge to start 2017-09-21 09:30:19 3294 [Note] InnoDB: 5.6.37 started; log sequence number 1625997 2017-09-21 09:30:19 3294 [Note] Binlog end 2017-09-21 09:30:19 3294 [Note] InnoDB: FTS optimize thread exiting. 2017-09-21 09:30:19 3294 [Note] InnoDB: Starting shutdown... 2017-09-21 09:30:21 3294 [Note] 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(可忽略)。
注意:要将data变成mysql用户
[root@qkettle mysql]# chown -R root .
[root@qkettle mysql]# chown -R mysql data
五、复制启动程序:
[root@qkettle mysql]# cp support-files/mysql.server /etc/init.d/mysql.server
在这里,如果/usr/local没有mysql软链接的话,会报错,说找不到服务的。
六、启动MySQL服务,这里出来个错误:(没出错就直接查看下是否有MySQL进程,继续往下操作就好)
[root@qkettle 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).
解决:
[root@qkettle mysql]# vim /etc/my.cnf
[mysqld_safe]
log-error=/var/log/mysql/mariadb.log
pid-file=/var/run/mysql/mariadb.pid
再启动:成功
[root@qkettle mysql]# /etc/init.d/mysql.server start
Starting MySQL.Logging to '/var/log/mysql/mariadb.log'.
. SUCCESS!
查看进程
[root@qkettle mysql]# ps -ef |grep mysql
root 4998 1 0 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 5159 4998 0 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。
[root@qkettle mysql]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
这里出错:
[root@qkettle bin]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方法:
先停止服务,然后修改一个地方。
[root@qkettle bin]# /etc/init.d/mysql.server stop
Shutting down MySQL.. SUCCESS!
[root@qkettle mysql]# vim /etc/my.cnf
socket=/tmp/mysql.sock
八、再次启动服务、可以登录了
[root@qkettle bin]# /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
在[mysqld]下添加一段话,不能写错了,否则会启动不了
character-set-server=utf8
因为我这里只有这么一个mysqld段落,所以没有再添加别的。
如果要是还有别的需要添加字符集的段落,也需要添加上。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。