linux 安装 mysql (ubuntu, centos)



ubuntu上安装mysql非常简单只需要几条命令就可以完成。

  1. sudo apt-get install mysql-server
 
  2. sudo apt-get isntall mysql-client
 
  3.   sudo apt-get install libmysqlclient-dev
 
  安装过程中会提示设置密码什么的,注意设置了不要忘了安装完成之后可以使用如下命令来检查是否安装成功:
 
   sudo netstat -tap | grep mysql
 
  通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
 
  登陆mysql数据库可以通过如下命令:
 
   mysql -u root -p 
 
  -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。



 然后通过  show databases; 就可以查看当前的数据库。
  我们选择 mysql数据库就行下一步操作,使用 use mysql 命令,显示当前数据库的表单: show tables 

写一个简单的程序来访问该数据库,实现 show tables 功能:

#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>
int main() 
{
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;
    char server[] = "localhost";
    char user[] = "root";
    char password[] = "mima";
    char database[] = "mysql";
    
    conn = mysql_init(NULL);
    
    if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0)) 
    {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }
    
    if (mysql_query(conn, "show tables")) 
    {
        fprintf(stderr, "%s\n", mysql_error(conn));
        exit(1);
    }
    
    res = mysql_use_result(conn);
    
    printf("MySQL Tables in mysql database:\n");
    
    while ((row = mysql_fetch_row(res)) != NULL)
    {
        printf("%s \n", row[0]);
    }
    
    mysql_free_result(res);
    mysql_close(conn);
    
    printf("finish! \n");
    return 0;
}


编译代码的时候需要链接mysql的库,可以通过如下方式编译:

  g++ -Wall mysql_test.cpp -o mysql_test -lmysqlclient

  然后运行编译好的代码:




centos mysql 安装及配置


Centos 6.6下安装Mysql很简单,

yum list mysql-server


当只有一个时候就可以直接

yum install mysql-server

yum install mysql-devel

进行安装


先启动Mysql服务

service mysqld start


连接一下试一下,直接

mysql

然后

\q

关闭连接


设置Mysql开机启动

chkconfig mysqld on


开启3306端口并保存

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables save


连接mysql数据库

设置密码

use mysql;

update user set password=password('密码') where user='root';

flush privileges;


设置Mysql远程访问

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;


解决Mysql乱码问题

找一个配置文件,复制到/etc/目录,命名为my.cnf

(有时候没有my.cnf)

cp /usr/share/doc/mysql-server-5.1.73/my-medium.cnf /etc/my.cnf


vim my.cnf

在[client]和[mysqld]下面都添加上

default-character-set=utf8


最后按Esc输入

:wq

保存退出



最后重新启动服务就可以了

service mysqld restart





猜你喜欢

转载自blog.csdn.net/chuanyu/article/details/52810723