一、安装Mysql
1、使用root账号安装Mysql,过程中需要设置Mysql的root账号和密码。(密码暂设为mysql)
sudo apt-get install mysql-server
sudo apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
2、以上3个软件包安装完成后,使用如下命令查询是否安装成功:
sudo netstat -tap | grep mysql
查询结果如下所示,表示安装成功。
root@ubuntu:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::] LISTEN 7510/mysqld
二、设置Mysql远程访问
1、编辑Mysql配置文件mysqld.cnf,文件路径如下所示:
vi /etc/mysql/mysql.conf.d/mysqld.cnf
把文件中的bind-address = 127.0.0.1注释掉
2、使用root进入mysql命令行,执行如下命令,mysql的root账号密码:mysql
$mysql -u root -p //进入mysql
mysql> use mysql; //使用mysql库
mysql> select ‘Host’,’User’ from user; //查看用户表
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges;//强制刷新权限
mysql> select 'host' from user where = 'root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。\
上边关键的一句是:
update user set host = ‘%’ where user = ‘root’;
其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可
三、登录Mysql数据库并进行简单操作
登陆Mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
然后通过 show databases; 就可以查看当前的数据库。
我们选择 mysql数据库就行下一步操作,使用use mysql 命令,显示当前数据库的表单:show tables
写一个简单的程序来访问该数据库,实现 show tables 功能:
#include
#include
#include
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 -lmsqlclient
然后运行编译好的代码:
可见结果和使用SQL语句 show tables 是一样的。