• mysql基于二进制安装


    安装MySQL数据库

    (1) 创建mysql用户的账号

    [root@localhost ~]# groupadd mysql
    [root@localhost ~]# useradd -s /sbin/nologin -g mysql -M mysql
    [root@localhost ~]# tail -1 /etc/passwd
    mysql:x:501:501::/home/mysql:/sbin/nologin
    [root@localhost ~]# id mysql
    uid=501(mysql) gid=501(mysql) groups=501(mysql)

    (2)获取MySQL二进制软件包

    百度云盘:http://pan.baidu.com/s/1hrBCzsC
    提取码:4yjf

    屏幕快照 2017-07-14 上午11.09.14.png-184.9kB

    (3) 采用二进制方式安装MySQL

    [root@localhost ~]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C /usr/local/
    [root@localhost ~]# cd /usr/local/
    [root@localhost local]# mv mysql-5.5.32-linux2.6-x86_64 mysql-5.5.32
    [root@localhost local]# ln -s mysql-5.5.32 mysql
    [root@localhost local]# ls
    bin  games    lib    libexec  mysql-5.5.32  nginx-1.10.2  share
    etc  include  lib64  mysql    nginx         sbin          src
    [root@localhost local]# cd /usr/local/mysql
    [root@localhost mysql]# ls
    bin      data  include         lib  mysql-test  scripts  sql-bench
    COPYING  docs  INSTALL-BINARY  man  README      share    support-files
    
    

    命令如下:

    [root@localhost ~]# cd /usr/local/mysql
    [root@localhost mysql]# ls -l support-files/*.cnf
    -rw-r--r--. 1 7161 wheel  4691 Jun 19  2013 support-files/my-huge.cnf
    -rw-r--r--. 1 7161 wheel 19759 Jun 19  2013 support-files/my-innodb-heavy-4G.cnf
    -rw-r--r--. 1 7161 wheel  4665 Jun 19  2013 support-files/my-large.cnf
    -rw-r--r--. 1 7161 wheel  4676 Jun 19  2013 support-files/my-medium.cnf
    -rw-r--r--. 1 7161 wheel  2840 Jun 19  2013 support-files/my-small.cnf
    [root@localhost mysql]# /bin/cp support-files/my-small.cnf /etc/my.cnf

    (5)初始化MySQL数据库文件

    初始化命令如下:

    [root@localhost ~]# mkdir -p /usr/local/mysql/data #建立MySQL数据文件目录
    [root@localhost ~]# chown -R mysql.mysql /usr/local/mysql #授权mysql用户管理MySQL的安装目录
    [root@localhost ~]# yum -y install libaio #光盘源安装依赖包,否则下一步的编译会报错
    [root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
    ------------
    -----------
    Please report any problems with the /usr/local/mysql/scripts/mysqlbug script!

    以上的命令主要作用是生成如下数据库文件

    [root@localhost ~]# tree /usr/local/mysql/data/
    /usr/local/mysql/data/
    ├── mysql
    │   ├── columns_priv.frm
    │   ├── columns_priv.MYD
    │   ├── help_keyword.frm
    
    ...以下省略若干...

    这些MySQL数据文件是MySQL正确运行所必需的基本数据库文件,其功能是对MySQL权限,状态等进行管理。

    2.3.3 初始化故障排错集锦

    错误示例1:

    usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared ob
    
    #错误原因是没有libaio函数库的支持。需要
    yum -y install libaio

    错误示例2:

    WARNING:The host'mysql'could not be looked up with resolveip
    
    #需要修改主机名解析,使其和uname -n一样,修改后的结果如下:
    [root@localhost ~] # grep `uname -n` /etc/hosts

    错误示例3:

    ERROR:1004Can't create file '/tmp/#sql300e_1_o.frm'(errno:13)
    
    #原因是/tmp目录的权限有问题。
    解决办法为处理/tmp目录,如下:
    
    [root@localhost ~]# ls -ld /tmp
    drwxrwxrwt. 3 root root 4096 Jul 14 07:56 /tmp
    [root@localhost ~]# chmod -R 1777 /tmp/

    此故障必须解除,否则,后面会出现登陆不了数据库等问题。

    2.4 配置并启动MySQL数据库

    (1)设置MySQL启动脚本,命令如下:

    [root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
    #拷贝MySQL启动脚本到MySQL的命令路径
    [root@localhost mysql]# chmod +x /etc/init.d/mysqld 
    #使脚本可执行

    (2)MySQL二进制默认安装路径是/usr/local/mysql,启动脚本里是/usr/local/mysql。如果安装路径不同,那么脚本里路径等都需要替换

    (3)启动MySQL数据库,命令如下:

    [root@localhost mysql]# /etc/init.d/mysqld start
    Starting MySQL.. SUCCESS! 

    (4)检查MySQL数据库是否启动,命令如下:

    [root@localhost mysql]# netstat -antup | grep mysql
    tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1702/mysqld  

    如果发现3306端口没起来,请tail -100 /usr/local/mysql/data/主机名.err查看日志信息,看是否有报错信息,然后根据相关错误提示进行调试。经常查看服务运行日志是个很好的习惯,也是高手的习惯。

    (5)查看MySQL数据库启动结果日志,命令如下:

    [root@localhost mysql]# tail -10 /usr/local/mysql/data/localhost.err 
    InnoDB: Creating foreign key constraint system tables
    InnoDB: Foreign key constraint system tables created
    170714  8:33:47  InnoDB: Waiting for the background threads to start
    170714  8:33:48 InnoDB: 5.5.32 started; log sequence number 0
    170714  8:33:48 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
    170714  8:33:48 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
    170714  8:33:48 [Note] Server socket created on IP: '0.0.0.0'.
    170714  8:33:49 [Note] Event Scheduler: Loaded 0 events
    170714  8:33:49 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
    Version: '5.5.32'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

    (6)设置MySQL开机自启动,命令如下:

    [root@localhost mysql]# chkconfig --add mysqld
    [root@localhost mysql]# chkconfig mysqld on

    提示:也可以将启动命令/etc/init.d/mysqld start 放到/etc/rc.local里面

    (7)配置mysql命令的全局使用路径,命令如下:

    [root@localhost mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
    [root@localhost mysql]# which mysqladmin
    /usr/local/bin/mysqladmin

    (8)登陆MySQL测试,命令如下:

    [root@localhost mysql]# mysql   #直接输入命令即可登陆
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.5.32 MySQL Community Server (GPL)
    Copyright (c) 2000, 2013, 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> 
    Bye

    提示:
    MySQL安装完成以后,默认情况下,root账户是无密码的,这个必须要设置。

    2.5 MySQL安全配置

    (1)为MySQL的root用户设置密码,命令如下:

    [root@localhost mysql]# mysqladmin -u root password '123123' #设置密码
    [root@localhost mysql]# mysql   #无法直接登陆了
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    [root@localhost mysql]# mysql -uroot -p  #新的登陆方式
    Enter password:                 #输入设置的密码
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 5
    Server version: 5.5.32 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2013, 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 |
    +------+-----------+
    4 rows in set (0.00 sec)
    
    mysql> drop user "root"@"::1";
    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> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    修改字符集为utf-8

    [mysqld]
    
    character_set_server=utf8

    重启mysql即可

    systemctl restart mysqld

  • 相关阅读:
    C#中对ActiveX控件的调用
    C#打开播放器后指定其播放的视频文件的路径代码怎么写啊!
    利用Visual C#开发一个媒体播放器
    C# 播放器控件 的常用方法
    用C#打开一个pdf文件
    C#利用微软DirectX做的视频播放器
    请问C#高手: [DllImport("kernel32.dll")]是什么意思??
    C#中的abstract与virtual
    ListBox Grouping的研究(一):初探GroupItem对象
    一个“>”导致我调试了1个小时才解决问题
  • 原文地址:https://www.cnblogs.com/CMX_Shmily/p/11670308.html
Copyright © 2020-2023  润新知