zoukankan      html  css  js  c++  java
  • linux下安装MYSQL详细配置(转)

     
    #tar zxvf mysql-5.0.18.tar.gz
    #cd  mysql-5.0.18
    #./configure --prefix=/usr/local/mysql --with-charset=gb2312  --with-extra-charsets=all  #--prefix指定安装目录,让他支持中文,支持所有语
     
    #指定安装路径为/usr/local/mysql,配置文件存放目录/etc,数据库存储目录/var/lib/mysql
    ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql
    (供参考)

    #make
    #make install
    #make clean
    #groupadd mysql
    #useradd -g mysql mysql  (第一个mysql是组,第二个mysql是用户)
    #cd /usr/local/mysql
    #cp usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf (或cp /root/mysql-5.0.18
    /support-files/my-huge.cnf.sh /etc/my.cnf 网络上是写括号内的,但我试了不行#根据自己主机的情况复制my-*.cnf的一个,huge是应用于内存在2G以上的情况.)

    #bin/mysql_install_db --user=mysql #建立基本数据库,必须指明为mysql用户,只有这一步才能在usr/local/mysql下出现var目录。出现如下:
    Preparing db table
    Preparing host table
    Preparing user table
    Preparing func table
    Preparing tables_priv table
    Preparing columns_priv table
    Installing all prepared tables
    Unknown suffix '@' used for variable 'port' (value '@MYSQL_TCP_PORT@')
    080425  4:38:40 /usr/local/mysql/libexec/mysqld: Error while setting value '@MYSQL_TCP_PORT@' to 'port'
    Installation of grant tables failed!
    Examine the logs in /usr/local/mysql/var for more information.
    You can also try to start the mysqld daemon with:
    /usr/local/mysql/libexec/mysqld --skip-grant &
    You can use the command line tool
    /usr/local/mysql/bin/mysql to connect to the mysql
    database and look at the grant tables:
    shell> /usr/local/mysql/bin/mysql -u root mysql
    mysql> show tables
    Try 'mysqld --help' if you have problems with paths. Using --log
    gives you a log in /usr/local/mysql/var that may be helpful.
    The latest information about MySQL is available on the web at
    http://www.mysql.com
    Please consult the MySQL manual section: 'Problems running mysql_install_db',
    and the manual section that describes problems on your OS.
    Another information source is the MySQL email archive.
    Please check all of the above before mailing us!
    And if you do mail us, you MUST use the /usr/local/mysql/bin/mysqlbug script!

    # bin/mysqld_safe --user=mysql &  #出现如下提示:
    [1] 23095
    [root@localhost mysql]# Starting mysqld daemon with databases from /usr/local/mysql/var
    ###这样就停在这边,就是正常启动。如果想确认用下面命令
    # ps -aux |grep mysql
    Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ
    root     23095  0.1  0.2  4408 1084 pts/1    S    04:44   0:00 /bin/sh bin/mysqld_safe --user=mysql
    mysql    23118  3.1  2.4 114464 12676 pts/1  Sl   04:44   0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql --pid-file=/usr/local/mysql/var/localhost.localdomain.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
    root     23128  0.0  0.1  5524  640 pts/1    R+   04:44   0:00 grep mysql
    ###这样表示有mysql进程

    #bin/mysql
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 1 to server version: 4.0.25-log
    Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
    mysql> quit
    Bye        ####只有mysql进程,这一步才能执行,因为最初mysql的root密码是空的,所以回车直接就进入。
    #bin/mysqladmin -uroot password 123456  (设置mysql的root密码为123456)
    #[root@Linux mysql]# bin/mysql -u root -p (用新的密码可以进去,表示设置root密码成功)
    Enter password:            (输入完新密码后变成如下:)
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 4 to server version: 4.0.25-log
    Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
    mysql>
    #bin/mysqld_safe &或/usr/local/mysql/share/mysql/mysql.server start 启动mysql
    #/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)
    mysql>

    #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

    本文出自 “小客” 博客,请务必保留此出处http://peiyan.blog.51cto.com/344889/240999

  • 相关阅读:
    java程序员究竟应该掌握点什么
    Java程序员集合框架面试题
    数组名和数组名取地址的区别
    二维、三维数组转一维数组
    函数指针 行指针 指针数组
    转:如何成为一个优秀的程序员
    转:最小堆的数组实现
    for_each使用方法详解[转]
    c++虚函数的作用是什么?
    转:C语言 可变参数
  • 原文地址:https://www.cnblogs.com/zengkefu/p/4953321.html
Copyright © 2011-2022 走看看