安装并配置mysql数据库_安装并配置单实例mysql数据库

二、安装mysql需要的依赖包和编译软件

[root@monitor01 ~]# cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

[root@monitor01 ~]# uname -r

3.10.0-957.el7.x86_64

[root@monitor01 ~]# uname -m

x86_64

安装依赖包

[root@monitor01 yum.repos.d]# yum install ncurses-devel libaio-devel cmake gcc gcc-c++ glibc openssl-devel bison-devel autoconf -y

[root@monitor01 yum.repos.d]# rpm -qa curses-devel libaio-devel

安装编译mysql需要的软件

[root@monitor01 ~]# yum install cmake -y

[root@monitor01 ~]# rpm -qa cmake

三、安装mysql

1、建立mysql用户账号

[root@monitor01 ~]# useradd -s /sbin/nologin -M mysql

[root@monitor01 ~]# id mysql

uid=1004(mysql) gid=1007(mysql) 组=1007(mysql)

mysql-5.6.40.tar.gz

mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

3、采用编译方式安装mysql

第一步,下载mysql软件包,命令及操作如下:

[root@monitor01 ~]# mkdir -p /home/oldboy/tools

[root@monitor01 ~]# mkdir /application

[root@monitor01 ~]# cd /home/oldboy/tools

[root@monitor01 ~]# wget -q http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.40.tar.gz

[root@monitor01 tools]# ll -h

总用量 344M

-rw-r--r--. 1 root root 314M 4月 13 14:52 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

-rw-r--r--. 1 root root 31M 4月 13 14:41 mysql-5.6.40.tar.gz

第二步,解压并配置mysql,命令及操作如下:

[root@monitor01 tools]# tar xf mysql-5.6.40.tar.gz

[root@monitor01 tools]# cd mysql-5.6.40/

[root@monitor01 mysql-5.6.40]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \

-DMYSQL_DATADIR=/application/mysql-5.6.40/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITH_ZLIB=bundled \

-DWITH_SSL=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLE_DOWNLOADS=1 \

-DWITH_DEBUG=0

参数说明:

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \ #指定安装目录

-DMYSQL_DATADIR=/application/mysql-5.6.40/data \ #指定数据data目录

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/mysql.sock \ #指定sock路径

-DDEFAULT_CHARSET=utf8 \ #指定默认字符集

-DDEFAULT_COLLATION=utf8_general_ci \ #指定默认校验规则

-DWITH_EXTRA_CHARSETS=all \ #指定扩展支持的字符集

-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #启用innodb存储引擎

-DWITH_FEDERATED_STORAGE_ENGINE=1 \ #启用Federated存储引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #启用BLACKHOLE引擎

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ #禁用EXAMPLE_STORAGE_ENGINE

-DWITH_ZLIB=bundled \ #启用zlib支持

-DWITH_SSL=bundled \ #启用ssl库支持

-DENABLED_LOCAL_INFILE=1 \ #启用加载本地数据

-DWITH_EMBEDDED_SERVER=1 \ #嵌入式服务器

-DENABLE_DOWNLOADS=1 \ #编译时允许自主下载相关文件

-DWITH_DEBUG=0 #禁用调试模式

(参考:https://www.cnblogs.com/ssgeek/p/10489078.html)

第三步,编译并安装mysql,命令及操作如下:

[root@monitor01 mysql-5.6.40]# make && make install

第四步,为mysql安装路径设置不带版本号的软链接/application/mysql,命令及操作如下:

[root@monitor01 mysql-5.6.40]# ln -s /application/mysql-5.6.40/ /application/mysql

四、创建mysql数据库配置文件并对数据库目录授权

[root@monitor01 mysql-5.6.40]# ll support-files/*.cnf

-rw-r--r--. 1 root root 1126 4月 13 15:14 support-files/my-default.cnf

[root@monitor01 mysql-5.6.40]# mv /etc/my.cnf /etc/my.cnf.bak

[root@monitor01 mysql-5.6.40]# cp support-files/my-default.cnf /etc/my.cnf

[root@monitor01 mysql-5.6.40]# chown -R mysql.mysql /application/mysql

五、初始化mysql数据库文件

1、初始化mysql数据库

[root@monitor01 mysql-5.6.40]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

六、配置并启动mysql数据库

1、设置mysql启动脚本

[root@monitor01 mysql-5.6.40]# pwd

/home/oldboy/tools/mysql-5.6.40

[root@monitor01 mysql-5.6.40]# cp support-files/mysql.server /etc/init.d/mysqld

[root@monitor01 mysql-5.6.40]# chmod 700 /etc/init.d/mysqld

[root@monitor01 mysql-5.6.40]# ll /etc/init.d/mysqld

-rwx------. 1 root root 10619 4月 13 15:59 /etc/init.d/mysqld

2、启动mysql数据库

[root@monitor01 mysql-5.6.40]# /application/mysql/bin/mysqld_safe --user=mysql &

或者

[root@monitor01 mysql-5.6.40]# /etc/init.d/mysqld start

Starting MySQL.Logging to '/application/mysql-5.6.40/data/monitor01.err'.

200413 16:09:56 mysqld_safe Directory '/application/mysql-5.6.40/tmp' for UNIX socket file don't exists.

ERROR! The server quit without updating PID file (/application/mysql-5.6.40/data/monitor01.pid).

[root@monitor01 mysql-5.6.40]#

[root@monitor01 mysql-5.6.40]# mkdir -p /application/mysql-5.6.40/tmp

[root@monitor01 mysql-5.6.40]# chown -R mysql.mysql /application/mysql/

[root@monitor01 mysql-5.6.40]# /etc/init.d/mysqld start

3、检查mysql数据库是否启动

[root@monitor01 mysql-5.6.40]# netstat -lntup| grep mysql

tcp6 0 0 :::3306 :::* LISTEN 21750/mysqld

4、查看mysql数据库启动结果日志:

[root@monitor01 mysql-5.6.40]# tail -n 1000 -f /application/mysql-5.6.40/data/monitor01.err

5、设置mysql开机自动启动:

[root@monitor01 mysql-5.6.40]# chkconfig --add mysqld

[root@monitor01 mysql-5.6.40]# chkconfig --list mysqld

七、将mysql相关命令加入全局路径

1、确认mysql命令所在路径:

[root@monitor01 mysql-5.6.40]# ll /application/mysql/bin/mysql

-rwxr-xr-x. 1 mysql mysql 10250744 4月 13 15:27 /application/mysql/bin/mysql

2、在path变量前增加/application/mysql/bin路径,并追加到/etc/profile文件中

[root@monitor01 mysql-5.6.40]# echo 'export PATH=/application/mysql/bin/:$PATH' >>/etc/profile

[root@monitor01 mysql-5.6.40]# tail -l /etc/profile

[root@monitor01 mysql-5.6.40]# source /etc/profile

[root@monitor01 mysql-5.6.40]# echo $PATH

/application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

八、登录mysql测试

mysql -uroot -p

或者

mysql -uroot

或者

mysql -uroot -p '密码'

或者

[root@monitor01 mysql-5.6.40]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.40 Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------+

4 rows in set (0.00 sec)

mysql> select user();

+----------------+

| user() |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)

mysql>

九、基本mysql安全配置

1、为root用户设置密码

[root@monitor01 mysql-5.6.40]# mysqladmin -u root password 'oldboy123'

[root@monitor01 mysql-5.6.40]# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@monitor01 mysql-5.6.40]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.6.40 Source distribution

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

2、清理mysql服务器内无用的用户

mysql> select user,host from mysql.user;

+------+-----------+

| user | host |

+------+-----------+

| root | 127.0.0.1 |

| root | ::1 |

| | localhost |

| root | localhost |

| | monitor01 |

| root | monitor01 |

+------+-----------+

6 rows in set (0.00 sec)

mysql> drop user root@'::1';

Query OK, 0 rows affected (0.00 sec)

mysql> drop user root@'monitor01';

Query OK, 0 rows affected (0.00 sec)

mysql> drop user ''@'monitor01';

Query OK, 0 rows affected (0.00 sec)

mysql> drop user ''@'localhost';

Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from mysql.user;

+------+-----------+

| user | host |

+------+-----------+

| root | 127.0.0.1 |

| root | localhost |

+------+-----------+

2 rows in set (0.00 sec)

mysql>

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------+

4 rows in set (0.00 sec)

mysql> drop database test;

Query OK, 0 rows affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

+--------------------+

3 rows in set (0.01 sec)

mysql>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值