系统: cxentos7
MySQL 版本: MySQL-5.6.42-Linux-glibc2.12-x86_64.tar.gz
添加 MySQL 用户
一般启动 MySQL 都是使用的 MySQL 用户进程来启动. 所以第一步, 添加 MySQL 用户 useradd MySQL.
解压重命名文件
解压上面的文件 tar -zxvf MySQL-5.6.42-Linux-glibc2.12-x86_64.tar.gz
拷贝到一个你指定的文件夹下面, 然后重命名为一个短点的名字 mv MySQL-5.6.42-Linux-glibc2.12-x86_64 /home/cube/MySQL
初始化数据库
这一步很关键, 笔者当时卡在这里很久, 因为执行脚本的位置很重要. 当时笔者直接进入到 scripts 下执行, 这是非常致命的错误, 最后初始化的数据库数据会在 scripts 文件夹下面生成, 显然这是不对的. 我们实际的数据文件夹是在 MySQL/data 下面.
- chown -R MySQL:MySQL MySQL
- cd MySQL
- ./scripts/mysql_install_db --user=MySQL --basedir=/home/cube/MySQL --datadir=/home/cube/MySQL/data
上面一定要先改变下文件的权限, 否则在初始化数据的时候就会因为权限不足导致失败.
当出现一下信息的时候说明数据库初始化成功.
- 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:
- /home/cube/MySQL/bin/mysqladmin -u root password 'new-password'
- /home/cube/MySQL/bin/mysqladmin -u root -h 78afdad83326 password 'new-password'
- Alternatively you can run:
- /home/cube/MySQL/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 . ; /home/cube/MySQL/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
- New default config file was created as /home/cube/MySQL/my.cnf and
- will be used by default by the server when you start it.
- You may edit this file to change server settings
配置 my.cnf 文件
- [mysqld]
- basedir = /home/cube/MySQL
- datadir = /home/cube/MySQL/data
- port = 3306
- socket = /home/cube/MySQL/mysqld.sock
- user=MySQL
- sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
我们来启东试试下./support-files/MySQL.server start
发现失败, 错误信息如下:
- bash-4.2# ./support-files/MySQL.server start
- ./support-files/MySQL.server: line 244: my_print_defaults: command not found
- ./support-files/MySQL.server: line 264: cd: /usr/local/MySQL: No such file or directory
- Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/MySQL/bin/mysqld_safe)
发现, 在启动服务的时候, 去 / usr/local/MySQL 来找安装包, 当我们使用 yum 来安装 MySQL 的时候, 会发现 MySQL 的安装位置就是 /usr/local/MySQL, 所以这里我们需要再次配置下路径.
配置 MySQL.server
打开 VIM ./support-files/MySQL.server 配置下 basedir 和 datadir 两个属性
- basedir=/home/cube/MySQL
- datadir=/home/cube/MySQL/data
好了, 我们再来重启下试试.
启动服务
./support-files/MySQL.server start
出现如下信息, 说明启动成功
- bash-4.2# ./support-files/MySQL.server start
- Starting MySQL.Logging to '/home/cube/mysql/data/78afdad83326.err'.
- SUCCESS!
使用 MySQL 连接
bin/MySQL -uroot -P3306 -p
发现会出现如下的错误:
- bash-4.2# bin/MySQL -uroot -P3306 -p
- Enter password:
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket'/tmp/MySQL.sock' (2)
错误显示的是找不到 / tmp/MySQL.sock 这个文件, 记得在上面的 my.cnf 文件中, 我们配置了 socket 的文件位置.
在 my.cnf 中配置 client 属性, 保证 MySQL 能够拿到正确的配置去连接.
- [client]
- port=3306
- socket=/home/cube/MySQL/mysqld.sock
同时, 在连接的指定配置文件 --defaults-file=my.cnf
完整的如下:
./bin/MySQL --defaults-file=my.cnf -uroot -p
进入会提示要输入密码, 这里不用输入密码, 直接回车即可进入.
最后, 到此所有已经结束. 剩下的还有一些需要完善的地方, 比如 设置编码 , 设置日志文件等等.
来源: http://www.jianshu.com/p/3c3ee51a9703