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

    Linux下mysql的安装和配置 

    ----------------------- 
    #tar zxvf mysql-5.0.75.tar.gz 
     
    #cd  mysql-5.0.75 
     
    #./configure  --prefix=/usr/local/mysql  --with-charset=gb2312    --with-extra-charsets=all  
    #--prefix指定安装目录,让他支持中文,支持所有语 
    #依赖包: yum install ncurses-devel 
     
    ##./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql  ##
    指定安装路径为/usr/local/mysql,配置文件存放目录/etc,数据库存储目录/var/lib/mysql 
     
    ------------------------------ 
    #make 
    #依赖包: yum install gcc 和 yum install -y gcc-c++ 
    如果还不行:是因为gcc-c++是在configure之后安装的,此时只需重新configure后再编译make即可。 
     
    ------------------------------ 
    #make install 
     
    #make clean 
     
    ------------------------------ 
    #groupadd mysql 
    #useradd -g mysql mysql 
     
    ------------------------------ 
    #cd /usr/local/mysql 
    #cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf 
     
    ------------------------------- 
    #bin/mysql_install_db --user=mysql #建立基本数据库,必须指明为mysql 用户,只有这一步才能在
    usr/local/mysql下出现var目录。出现如下: 
     
    手工启动mysql 
    #cd /usr/local/mysql/bin  
    #./mysqld_safe &   
    #/usr/local/mysql/share/mysql/mysql.server start 启动mysql(失败?)  
     
    开机自动启动mysql 
    编辑/etc/rc.d/rc.local文件,加入如下启动命令:  /usr/local/mysql/bin/mysqld_safe & 
     
     
    #/usr/local/mysql/share/mysql/mysql.server stop 停止mysql(失败?)  
     
    #ps -aux|grep mysql查看进程 
    #kill id号 ----这是杀mysql进程的,id号是在查看mysql进程里面看的到。 
     
    ------------------------------- 
    修改一下mysql的启动的方式,让它以系统守护进程的方式开户服务 
    #cp  /usr/local/mysql/share/mysql/mysql.server  /etc/init.d/mysqld  这 样 下 次 就 可 以 用
    /etc/init.d/mysqld start启动了 
    # ./bin/mysql -uroot -p 
      Enter password: 
      ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 
      这个是mysql没启动 
    # /etc/init.d/mysqld start (或/usr/local/mysql/mysql/share/mysql.server start这样启动) 
    # ./bin/mysql -uroot -p 
        Enter password: 
        Welcome to the MySQL monitor.  Commands end with ; or \g. 
        Your MySQL connection id is 2 to server version: 4.0.25-log 
        Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
        mysql> show databases; 
        +----------+ 
        | Database | 
        +----------+ 
        | mysql    | 
        | test     | 
        +----------+ 
        2 rows in set (0.00 sec) 
     
    ------------------------------- 
    ##chkconfig --add mysqld 添加mysql为服务 
    ##chkconfig --del mysqld 删除mysql服务 
    #service mysqld restart    #重新启动服务查看是否生效 
    #chkconfig --list mysqld    #查看是否345运行级别都打开mysql 
     
    -------------------------------- 
    完成!以上安装过程同样适用于mysql5的安装 
    笔者发现mysql5版本在安装后即可直接使用mysql命令进入数据库,而在4版本系列中,mysql路径并没
    有放入系统环境变量中,输入mysql系统会报找不到这命令的错误,因此笔者擅自修改了环境变量,把mysql
    的路径添加进环境变量中去。 
    修改profile文件,将mysql的路径添加到PATH变量中去。 
        vi /etc/profile 
        if ! echo $PATH | /bin/egrep -q "(^|: )$1($|: )" ; then 
        if [ "$2" = "after" ] ; then 
        PATH=$PATH: $1:/usr/local/mysql/bin 
        else 
        PATH=$1: $PATH:/usr/local/mysql/bin 
    或编辑/etc/profile文件: 
        vi /etc/profile 
        在文件最后添加如下两行: 
        PATH=$PATH:/usr/local/mysql/bin 
        export PATH 
        执行下面的命令使所做的更改生效: 
        . /etc/profile 
     
    ========================================================
    报错:1130-host ... is not allowed to connect to this MySql server  
    解决方法: 
     
    1。 改表法。 
    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql
    后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 
    mysql -u root -pvmwaremysql>use mysql; 
    mysql>update user set host = '%' where user = 'root'; 
    mysql>select host, user from user; 
     
    2. 授权法。 
    例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
    FLUSH   PRIVILEGES; 
    如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密
    码 
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT 
    OPTION; 
    FLUSH   PRIVILEGES; 
    如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword
    作为密码 
    GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT 
    OPTION; 
    FLUSH   PRIVILEGES; 
    我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES 使修改生
    效.就可以了 
    另外一种方法,不过我没有亲自试过的,在csdn.net上找的,可以看一下. 
     
    在安装mysql的机器上运行: 

    1、d:\mysql\bin\>mysql   -h   localhost   -u   root //这样应该可以进入MySQL服务器 
    2、mysql>GRANT   ALL   PRIVILEGES   ON   *.*   TO   'root'@'%'   WITH   GRANT   OPTION //赋
    予任何主机访问数据的权限 
    3、mysql>FLUSH   PRIVILEGES //修改生效 
    4、mysql>EXIT //退出MySQL服务器 
     
    这样就可以在其它任何的主机上以root身份登录啦! 

  • 相关阅读:
    拓扑排序
    最少硬币问题(无穷硬币)
    第三届蓝桥杯预赛
    矩形嵌套
    《心术》影评
    区间选点问题
    [转贴] 游戏服务器架构
    D3DXPlaneFromPoints 函数
    内存池实现
    [转]MMORPG游戏服务器端的设计
  • 原文地址:https://www.cnblogs.com/cookray/p/2687081.html
Copyright © 2011-2022 走看看