zoukankan      html  css  js  c++  java
  • Linux下mysql的安装配置

    • 1.安装

    方法一:通过yum安装

    首先必须配置了yum源,然后直接执行

    yum -y install mysql-server
    如果提示Error Downloading Packages:
    1:执行yum clean all 清除缓存目录下的软件包及旧的headers;
    2:接着执行 yum list 重新列出所有已经安装和可以安装的软件包;
    3:重新执行上述命令,发现yum编译成功;
    注意:如果执行 yum list 报错,那就检查一下yum仓库是否有问题;并清除/etc/yum.repos.d/下多余.repo文件!
    [root@localhost ~]# mount /dev/cdrom /mnt
    mount: block device /dev/cdrom is write-protected, mounting read-only
    [root@localhost ~]# cd /mnt/Server
    [root@localhost Server]# ls
    a2ps-4.13b-57.2.el5.x86_64.rpm
    acl-2.2.39-8.el5.x86_64.rpm
     
    [root@localhost ~]# ls /etc/yum.repos.d/
    rhel-debuginfo.repo
    [root@localhost ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo
    [root@localhost ~]# 
    [root@localhost Server]# cat /etc/yum.repos.d/rhel-debuginfo.repo
    [rhel-debuginfo]
    name=Red Hat Enterprise Linux $releasever - $basearch - Debug
    baseurl=file:///mnt/Server
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    查看安装是否完成
    [root@localhost ~]# yum list
    如果成功后,再次执行mysql的yum 安装命令即可。
    安装完毕后可以检查一下是否安装成功:
     

    [root@localhost ~]# rpm -qa|grep mysql-server

    mysql-server-5.0.77-4.el5_6.6

    [root@localhost ~]# 

    方法二:通过下载安装包rpm安装

    1.下载mysql安装包

      mysql:http://dev.mysql.com/downloads/mysql/

     打开页面之后,在Select Platform:下选择linux Generic

    2.下载完毕后解压到指定文件夹下

    [root@localhost mysql]# ls
    MySQL-5.6.25-1.linux_glibc2.5.x86_64.rpm-bundle.tar
    MySQL-client-5.6.25-1.linux_glibc2.5.x86_64.rpm
    MySQL-devel-5.6.25-1.linux_glibc2.5.x86_64.rpm
    MySQL-embedded-5.6.25-1.linux_glibc2.5.x86_64.rpm
    MySQL-server-5.6.25-1.linux_glibc2.5.x86_64.rpm
    MySQL-shared-5.6.25-1.linux_glibc2.5.x86_64.rpm
    MySQL-shared-compat-5.6.25-1.linux_glibc2.5.x86_64.rpm
    MySQL-test-5.6.25-1.linux_glibc2.5.x86_64.rpm

    3.检查安装

    rpm -qa | grep mysql  或者 rpm -qa |grep MySQL

     --查看系统之前是否已安装MySQL,这里是区分大小写的

    如果没有结果显示则表示没有安装可以继续下面的步骤,如果有显示需要先卸载已安装的

    rpm -e --nodeps mysql-libs-5.1.47-4.el6.i686   

    并要删除相关文件

    rm -rf /var/lib/mysql*
    rm -rf /usr/share/mysql*

    4.安装mysql server

    rpm -ivh MySQL-server-5.6.25-1.linux_glibc2.5.x86_64.rpm

    5.安装mysql client

    rpm -ivh  MySQL-client-5.6.25-1.linux_glibc2.5.x86_64.rpm

    6.检测 MySQL 3306 端口是否打开。 netstat 看 MySQL 端口是否打开,如打开表示服务已经启动,安装成功。MySQL 默认的端口是3306。
    [root@localhost mysql]# netstat -nat
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State      
    tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      
    tcp        0      0 0.0.0.0:999                 0.0.0.0:*                   LISTEN      
    tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
    tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
    tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
    tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN      
    tcp        0    132 172.17.8.85:22              172.17.10.213:49662         ESTABLISHED 
    tcp        0      0 :::3306                     :::*                        LISTEN      
    tcp        0      0 :::22                       :::*                        LISTEN      
    tcp        0      0 ::ffff:172.17.8.85:3306     ::ffff:172.17.10.213:53770  ESTABLISHED 
    [root@localhost mysql]# 
    如果没有3306端口,启动mysql服务: service mysql start  

    7.修改mysql连接密码

    在安装mysql server的过程中,它会随机生成一个默认的密码,位置在:/root/.mysql_secret ,打开这个文件之后就可以看到随机的密码了。

    然后就可以修改密码了,先输入随机密码,再输入新密码并确认

    [root@localhost mysql]# mysqladmin -u root -p password 
    Enter password: 
    New password: 
    Confirm new password:

    8.进入mysql,通过命令:mysql -u root -p,然后输入修改后的密码即可

    [root@localhost mysql]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 4
    Server version: 5.6.25 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2015, 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)

    9.远程连接

    因为Linux系统是装在虚拟机上的,我用本机的navigate连接上面所装的mysql

    一开始一直提示错误 --连接错误 Can't connect to MySQL server on XXXX(61)

    1)进入mysql数据库:use mysql;
    2)执行:update user set host = '%' where user = 'root';  有多条的话可以修改一条
    3)有多条记录时,可能会报错:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
    4)flush privileges;
    (提交修改,这个绝对不能少,要不然不会生效。切记,我之前就是忘记了,死活连接不上)
    以上4步后去连接mysql还是提示以上错误,那么就是防火墙的原因了
    5)修改文件 /etc/sysconfig/iptables, 添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    ,且必须加在icmp-host-prohibited之前
    # Firewall configuration written by system-config-securitylevel
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :RH-Firewall-1-INPUT - [0:0]
    -A INPUT -j RH-Firewall-1-INPUT
    -A FORWARD -j RH-Firewall-1-INPUT
    -A RH-Firewall-1-INPUT -i lo -j ACCEPT
    -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
    -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
    -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
    -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
    -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
    COMMIT

    重启防火墙:

    [root@localhost mysql]# service iptables restart
    清除防火墙规则:                                           [确定]
    把 chains 设置为 ACCEPT 策略:filter                       [确定]
    正在卸载 Iiptables 模块:                                  [确定]
    应用 iptables 防火墙规则:                                 [确定]
    载入额外 iptables 模块:ip_conntrack_netbios_ns ip_conntrac[确定]

    再重新连接 ,发现可以连接了

    • 2.字符集配置
    1)vim /etc/my.cnf
    2)添加配置,在[mysqld]节点下添加:
    default-character-set=utf8
    character-set-server=utf8
    保存退出。
     
    补充关于中文乱码问题:
    1.在5.1版本时,为了解决中文乱码问题,在my.ini[mysql][mysqld]中都写:
    default-character-set=utf8
    2.在5.5版本,[mysql]内可以这么写,[mysqld]内不能这么写,而是写:
    character-set-server=utf8
     
    • 3.自启动配置
    1)执行chkconfig mysqld on
    2)执行chkconfig —list mysqld查看(如果2-5位启用on状态即OK)
    [root@localhost ~]# chkconfig --list mysqld
    mysqld         0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭
    [root@localhost ~]# chkconfig mysqld on
    [root@localhost ~]# chkconfig --list mysqld
    mysqld         0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
     
    • 4.防火墙配置
    1)sudo vim /etc/sysconfig/iptables
    2)-A INPUT -p tcp -m tcp —dport 3306 -j ACCEPT
    将以上配置添加到防火墙配置中,保存退出
    3)执行命令重启防火墙
         sudo service iptables restart 
     
    • 5.MYSQL服务启动(Linux)
    1.启动mysql服务service mysqld start或/etc/rc.d/init.d/mysqld start
    2.mysql初始化环境设置
     因还未设置密码,执行mysql -u root登录mysql服务器
     
    • 6.mysql配置
    1)查看目前mysql的用户
       Select user,host,password from mysql.user
    2)修改root密码:
        set password for root@localhost=password(’你的密码')
        set password for root@127.0.0.1=password(‘你的密码’)
    3)exit退出mysql
    4)重新登录mysql输入mysql -u root -p
    5)然后输入密码登录
    mysql> set password for root@localhost=password('mysql_4U');
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> exit
    Bye
    [root@localhost ~]# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 3
    Server version: 5.0.77 Source distribution
     
    Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
     
    mysql> 
     
    6)删除匿名用户,执行以下SQL
    查看是否有匿名用户:select user,host from mysql.user;
    删除匿名用户:delete from mysql.user where user=‘’;
    再次查看:select user,host from mysql.user;
    刷新,使以上操作生效:flush privileges;
    7)插入mysql新用户
    Insert into mysql.user(Host,User,Paaword) values(“localhost”,”yourusername”,password(“yourpasswd”));
    8)使操作生成:flush privileges;
    9)创建新的database
    Create database `mmall`
    Default character set utf8 collate utf8_general_ci;
    10)本地用户赋予所有权限
    grant all privileges on mmall.* to yourusername@localhost identified by ‘yourpasswd'
    11)给账号开通外围所有权限
    grant all privileges on mmall.* to ‘yourusername’@‘%’ identified by ‘userpasswd’;
    注:可以根据实际情况决定开通什么权限
    grant select,insert,update on mmall.* to ‘yourusername’@‘192.11.11.11’ identified by ‘userpasswd’;
    代表给指定的地址开通增改查权限
     
  • 相关阅读:
    IO流中文件和文件夹的删除程序举例
    2.14 小结
    mysql数据库分库分表(Sharding)
    django 连接mysql
    网页页面自动刷新代码
    python you-get 下载视频
    爬虫米扑代理
    python urlretrieve 下载图片
    UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 120: illegal multibyte sequence
    create a bootable USB stick on Ubuntu
  • 原文地址:https://www.cnblogs.com/zoeyqq/p/8335907.html
Copyright © 2011-2022 走看看