编译OpenSIPS使用连接源码安装的MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

因项目的需求,低版本的MySQL在性能上不能满足我们的需求,现在需要更换为高版本的MySQL 5.5.44.新版本的MySQL 5.5.44在性能上,比起CentOS 5.11自带的低版本的MySQL 5.0.95,至少要高一倍以上。


MySQL 5.5.44的安装,我们这边就不采用源码安装而是直接使用编译好的版本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
yum -y  install  gcc gcc-devel gcc-c++ gcc-c++-devel libaio-devel boost boost-devel autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bison bison-devel unzip
 
groupadd -g 10001 mysql 
useradd  -u 10001 -s  /sbin/nologin  -d  /dev/null  -g mysql mysql
 
mkdir  /data
 
wget http: //mirrors .sohu.com /mysql/MySQL-5 .5 /mysql-5 .5.44-linux2.6-x86_64. tar .gz
tar  zxf mysql-5.5.44-linux2.6-x86_64. tar .gz
 
mv  mysql-5.5.44-linux2.6-x86_64  /data/mysql5 .5.44
 
echo  "127.0.0.1 $HOSTNAME" >> /etc/hosts
 
chown  -R mysql.mysql  /data/mysql5 .5.44 /data
 
/data/mysql5 .5.44 /scripts/mysql_install_db  --user=mysql --group=mysql --basedir= /data/mysql5 .5.44  --datadir= /data/mysql5 .5.44 /data
cp  /data/mysql5 .5.44 /support-files/my-medium .cnf  /etc/my .cnf
cp  /data/mysql5 .5.44 /support-files/mysql .server  /etc/init .d /mysqld
 
sed  -i  's#^basedir=$#basedir=/data/mysql5.5.44#g'  /etc/init .d /mysqld
sed  -i  's#^datadir=$#datadir=/data/mysql5.5.44/data#g'  /etc/init .d /mysqld
 
chmod  750  /etc/init .d /mysqld
 
service mysqld start
 
ln  -s  /data/mysql5 .5.44 /bin/ /usr/bin/
 
mysqladmin -uroot password 123456
 
mysql -uroot -p123456 -e  'delete from mysql.user where password=""'
 
mysql -uroot -p123456 -e  'drop database test'

以上MySQL就已经正常安装及使用。


源码安装请参阅:http://fengwan.blog.51cto.com/508652/1363566


现在编译安装OpenSIPS,你会发现无法编译

这个时候是因为OpenSIPS找不到MySQL的库,如果yum安装的话至少要安装mysql及mysql-devel.

我们这里就不yum安装了,因为已经安装了mysql。

1
2
3
4
5
6
7
ln  -s  /data/mysql5 .5.44 /bin/ /usr/bin/
 
ln  -s  /data/mysql5 .5.44 /include/  /usr/include/mysql
 
ln  -s  /data/mysql5 .5.44 /lib/  /usr/lib64/mysql
 
ln  -s  /data/mysql5 .5.44 /lib/ /usr/lib64/

将以上库及包含文件软链接即可正常。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
yum -y  install  gcc  make  zlib-devel wget 
yum -y  install  flex bison ncurses-devel openssl-devel
yum -y  install  lynx svn libxslt
wget http: //opensips .org /pub/opensips/1 .11.5 /src/opensips-1 .11.5-latest_src. tar .gz
tar  zxf opensips-1.11.5-latest_src. tar .gz
cd  opensips-1.11.5-tls/
make  prefix= /data/opensips1 .11.5 all include_modules= "db_mysql" 
make  prefix= /data/opensips1 .11.5  install  include_modules= "db_mysql"
cd
 
sed  -i  's/\# DBENGINE=MYSQL/DBENGINE=MYSQL/g'  /data/opensips1 .11.5 /etc/opensips/opensipsctlrc 
sed  -i  's/\# DBHOST=localhost/DBHOST=localhost/g'  /data/opensips1 .11.5 /etc/opensips/opensipsctlrc
sed  -i  's/\# DBNAME=opensips/DBNAME=opensips/g'  /data/opensips1 .11.5 /etc/opensips/opensipsctlrc 
sed  -i  's/\# DBRWUSER=opensips/DBRWUSER=opensips/g'  /data/opensips1 .11.5 /etc/opensips/opensipsctlrc 
sed  -i  's/\# DBRWPW="opensipsrw"/DBRWPW="opensipsrw"/g'  /data/opensips1 .11.5 /etc/opensips/opensipsctlrc 
sed  -i  's/\# DBROOTUSER="root"/DBROOTUSER="root"/g'  /data/opensips1 .11.5 /etc/opensips/opensipsctlrc 
 
ln  -s  /data/opensips1 .11.5 /etc/opensips/  /etc/
echo  'export PATH=$PATH:/data/opensips1.11.5/sbin/'  >> /etc/profile
source  /etc/profile
 
/data/opensips1 .11.5 /sbin/opensipsdbctl  create
 
/data/opensips1 .11.5 /sbin/osipsconfig 
 
rm  -f  /data/opensips1 .11.5 /etc/opensips/opensips .cfg
mv  /data/opensips1 .11.5 /etc/opensips/opensips_residential_ *.cfg  /data/opensips1 .11.5 /etc/opensips/opensips .cfg
 
 
sed  -i  's/disable_tcp=no/disable_tcp=yes/g'  /data/opensips1 .11.5 /etc/opensips/opensips .cfg 
sed  -i  's/listen=udp:127.0.0.1:5060/listen=udp:eth0:5060/g'  /data/opensips1 .11.5 /etc/opensips/opensips .cfg 
sed  -i  's#mpath="/usr/local/lib/opensips/modules/"#mpath="/data/opensips1.11.5/lib64/opensips/modules/"#g' 
 
/data/opensips1 .11.5 /etc/opensips/opensips .cfg 
sed  -i -e  '/modparam("uri", "use_uri_table", 0)/a\modparam("uri", "db_url","mysql://opensips:opensipsrw@localhost/opensips")' 
 
/data/opensips1 .11.5 /etc/opensips/opensips .cfg 
 
echo  "local0.* /var/log/opensips.log"  >>  /etc/syslog .conf 
service syslog restart 
 
mysql -uroot -p123456 -e  "insert into opensips.domain(domain) values('192.168.1.245')" 
#192.168.1.245为你的sip域,可以为ip
 
cp  /root/opensips-1 .11.5-tls /packaging/fedora/opensips .init  /etc/init .d /opensips 
sed  -i  's#cfgdir="/etc/$prog"#cfgdir="/data/opensips1.11.5/etc/$prog"#g'  /etc/init .d /opensips
sed  -i  's#opensips=/usr/sbin/$prog#opensips=/data/opensips1.11.5/sbin/$prog#g'  /etc/init .d /opensips 
chmod  +x  /etc/init .d /opensips 
groupadd opensips 
useradd  -g opensips -s  /sbin/nologin  -d  /dev/null  opensips 
service opensips start

若有不懂的,参阅http://fengwan.blog.51cto.com/508652/1655265


若启动OpenSIPS的时候出现

1
ERROR:core:sr_load_module: could not  open  module < /data/opensips1 .11.5 /lib64/opensips/modules/db_mysql .so>: libmysqlclient.so.  18: cannot  open  shared object  file : No such  file  or directory

运行

1
ln  -s  /data/mysql5 .5.44 /lib/ /usr/lib64/

将库链接上即可


本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1669752


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
24天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
2天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
40 25
|
3月前
|
关系型数据库 MySQL 网络安全
DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)
“Access denied for user ''@'ip' (using password: YES)”错误通常与MySQL用户权限配置或网络设置有关。通过检查并正确配置用户名和密码、用户权限、MySQL配置文件及防火墙设置,可以有效解决此问题。希望本文能帮助您成功连接MySQL数据库。
325 4
|
3月前
|
安全 关系型数据库 MySQL
【赵渝强老师】MySQL的连接方式
本文介绍了MySQL数据库服务器启动后的三种连接方式:本地连接、远程连接和安全连接。详细步骤包括使用root用户登录、修改密码、创建新用户、授权及配置SSL等。并附有视频讲解,帮助读者更好地理解和操作。
519 1
|
3月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
202 3
|
3月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
225 2
|
11天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
82 42
|
28天前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
232 0
|
2月前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
73 3